mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-18 10:35:55 +00:00
allocate isa bounce buffers of the right size for ess/mss cards, fixes
panics reported
This commit is contained in:
parent
54986abd15
commit
9d1671b8c2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=55424
@ -313,12 +313,12 @@ mss_alloc_resources(struct mss_info *mss, device_t dev)
|
||||
if (ok) {
|
||||
mss->pdma = rman_get_start(mss->drq1);
|
||||
isa_dma_acquire(mss->pdma);
|
||||
isa_dmainit(mss->pdma, DSP_BUFFSIZE);
|
||||
isa_dmainit(mss->pdma, MSS_BUFFSIZE);
|
||||
mss->bd_flags &= ~BD_F_DUPLEX;
|
||||
if (mss->drq2) {
|
||||
mss->rdma = rman_get_start(mss->drq2);
|
||||
isa_dma_acquire(mss->rdma);
|
||||
isa_dmainit(mss->rdma, DSP_BUFFSIZE);
|
||||
isa_dmainit(mss->rdma, MSS_BUFFSIZE);
|
||||
mss->bd_flags |= BD_F_DUPLEX;
|
||||
} else mss->rdma = mss->pdma;
|
||||
}
|
||||
|
@ -418,12 +418,14 @@ sb_alloc_resources(struct sb_info *sb, device_t dev)
|
||||
RF_ACTIVE);
|
||||
|
||||
if (sb->io_base && sb->drq1 && sb->irq) {
|
||||
int bs = (sb->bd_flags & BD_F_ESS)? ESS_BUFFSIZE : DSP_BUFFSIZE;
|
||||
|
||||
isa_dma_acquire(rman_get_start(sb->drq1));
|
||||
isa_dmainit(rman_get_start(sb->drq1), DSP_BUFFSIZE);
|
||||
isa_dmainit(rman_get_start(sb->drq1), bs);
|
||||
|
||||
if (sb->drq2) {
|
||||
isa_dma_acquire(rman_get_start(sb->drq2));
|
||||
isa_dmainit(rman_get_start(sb->drq2), DSP_BUFFSIZE);
|
||||
isa_dmainit(rman_get_start(sb->drq2), bs);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -418,12 +418,14 @@ sb_alloc_resources(struct sb_info *sb, device_t dev)
|
||||
RF_ACTIVE);
|
||||
|
||||
if (sb->io_base && sb->drq1 && sb->irq) {
|
||||
int bs = (sb->bd_flags & BD_F_ESS)? ESS_BUFFSIZE : DSP_BUFFSIZE;
|
||||
|
||||
isa_dma_acquire(rman_get_start(sb->drq1));
|
||||
isa_dmainit(rman_get_start(sb->drq1), DSP_BUFFSIZE);
|
||||
isa_dmainit(rman_get_start(sb->drq1), bs);
|
||||
|
||||
if (sb->drq2) {
|
||||
isa_dma_acquire(rman_get_start(sb->drq2));
|
||||
isa_dmainit(rman_get_start(sb->drq2), DSP_BUFFSIZE);
|
||||
isa_dmainit(rman_get_start(sb->drq2), bs);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -418,12 +418,14 @@ sb_alloc_resources(struct sb_info *sb, device_t dev)
|
||||
RF_ACTIVE);
|
||||
|
||||
if (sb->io_base && sb->drq1 && sb->irq) {
|
||||
int bs = (sb->bd_flags & BD_F_ESS)? ESS_BUFFSIZE : DSP_BUFFSIZE;
|
||||
|
||||
isa_dma_acquire(rman_get_start(sb->drq1));
|
||||
isa_dmainit(rman_get_start(sb->drq1), DSP_BUFFSIZE);
|
||||
isa_dmainit(rman_get_start(sb->drq1), bs);
|
||||
|
||||
if (sb->drq2) {
|
||||
isa_dma_acquire(rman_get_start(sb->drq2));
|
||||
isa_dmainit(rman_get_start(sb->drq2), DSP_BUFFSIZE);
|
||||
isa_dmainit(rman_get_start(sb->drq2), bs);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user