Messages in this thread | | | From | Logan Gunthorpe <> | Date | Tue, 12 Jun 2018 10:18:12 -0600 | Subject | Re: [PATCH 2/8] NTB: Setup the DMA mask globally for all drivers |
| |
On 12/06/18 09:48 AM, Jon Mason wrote: > ntb.c is more of a glue layer, and this is more device specific. > While I like adding it here for more common code, it should probably > reside in the ntb_hw_*.c files to enforce the hw specific code all > reside in that layer. So, this probably needs to be replaced with a > patch which adds the setting of the mask to the switchtec driver.
I disagree strongly. You can tell it's not device specific seeing we have 4 devices that need the exact same code. In fact, there is nothing device specific in those lines of code as the device specific part comes when a driver sets the PCI parent device's DMA mask. These lines just initialize the dma_mask for the new NTB device with its parent's mask. This is just sensible given that nothing now works if it is not done and trusting driver writers to get it right is not a good idea seeing we already screwed it up once. Furthermore, it violates DRY (do not repeat yourself).
If there is something driver specific that must be done (although I can't actually imagine what this would be) the drivers are free to change the mask after calling ntb_register but getting the common case setup in common code is just good design.
Logan
| |