Messages in this thread | | | Date | Wed, 8 Jul 2015 14:41:13 +0100 | From | Martyn Welch <> | Subject | Re: [PATCHv3 08/16] staging: vme_user: provide DMA functionality |
| |
On 07/07/15 13:51, Alessio Igor Bogani wrote: >> Current VME stack links windows not to the boards, but to device drivers. >> >Driver >> >could potentially minimise window usage within it’s scope (any sort of >> >window >> >reusing, like mapping whole A16 once to be used with all boards), but this >> >won’t >> >work across multiple drivers. Even if all of your drivers are window-wise >> >economic, >> >they will still need some amount of windows per each driver. Not that we >> >have that >> >many kernel drivers... > Yes you can share a window/image between all boards of the same type > (in effect we are porting our drivers in this way)*but* it isn't the > expected way to work (see Documentation/vme_api.txt struct > vme_driver's probe() and match() functions and the GE PIO2 VME > driver).
I think it's perfectly valid to use a single window to dynamically map to the address space belonging to one of a number of devices supported by a single driver. I think this is almost preferable to mapping a large window over a large portion of the VME address space to drive a number of devices as (depending on there spacing in the VME address space) the latter could cause issues with filling available PCI address space. Admittedly this is more of a problem on 32-bit systems, but...
-- Martyn Welch (Lead Software Engineer) | Registered in England and Wales GE Intelligent Platforms | (3828642) at 100 Barbirolli Square T +44(0)1327322748 | Manchester, M2 3AB E martyn.welch@ge.com | VAT:GB 927559189
| |