Re: [PATCH] libata: implement and use DMA mask configuration helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Garzik wrote:
> Tejun Heo wrote:
>> Jeff, there are further problems with doing pci_go_64() only on devices
>> which support 64bit.  pci_set_dma_mask() is the only place where the PCI
>> code can test whether DMA is usable or not, so if we don't configure DMA
>> mask on 32bit controllers, there's no way to tell whether DMA is allowed
>> on the controller/bus or not.  We end up blindly enabling bus mastering
>> without consulting the PCI bus.
>>
>> I think it's just cleaner to do pci_configure_dma_masks() on all cases
>> with proper DMA mask.
> 
> 
> There is always a cleaner solution :)
> 
> My implementation is based on current practice for all 64-bit drivers.
> 
> If you wish to change current practice, that is another matter...

The thing is that in the current implementation, we do the following.

1. For 32bit devices, we do set_dma/set_persistent to set 32bit masks
manually.

2. For 64bit devices, we do set_dma/set_persistent to set 64bit masks
but falls back to 32bit.  This is sometimes done manually sometimes
using a helper (pci_go_64).

This patch tries to do #1 and #2 in the same way and the end result
doesn't change - we're just using the same helper function instead of
doing things directly for both 32bit and 64bit cases.  Are you
suggesting to just generalize pci_go_64 and leave 32bit cases as they are?

Thanks.

-- 
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux