Messages in this thread | | | From | Oded Gabbay <> | Date | Tue, 11 Jun 2019 11:08:37 +0300 | Subject | Re: [PATCH 8/8] habanalabs: enable 64-bit DMA mask in POWER9 |
| |
On Tue, Jun 11, 2019 at 10:59 AM Greg KH <gregkh@linuxfoundation.org> wrote: > > On Tue, Jun 11, 2019 at 08:50:45AM +0300, Oded Gabbay wrote: > > --- a/drivers/misc/habanalabs/habanalabs_drv.c > > +++ b/drivers/misc/habanalabs/habanalabs_drv.c > > @@ -28,6 +28,7 @@ static DEFINE_MUTEX(hl_devs_idr_lock); > > > > static int timeout_locked = 5; > > static int reset_on_lockup = 1; > > +static int power9_64bit_dma_enable; > > > > module_param(timeout_locked, int, 0444); > > MODULE_PARM_DESC(timeout_locked, > > @@ -37,6 +38,10 @@ module_param(reset_on_lockup, int, 0444); > > MODULE_PARM_DESC(reset_on_lockup, > > "Do device reset on lockup (0 = no, 1 = yes, default yes)"); > > > > +module_param(power9_64bit_dma_enable, int, 0444); > > +MODULE_PARM_DESC(power9_64bit_dma_enable, > > + "Enable 64-bit DMA mask. Should be set only in POWER9 machine (0 = no, 1 = yes, default no)"); > > + > > #define PCI_VENDOR_ID_HABANALABS 0x1da3 > > > > #define PCI_IDS_GOYA 0x0001 > > > This is not the 1990's, please do not use module parameters. Yeah, you > have a bunch of them already, but do not add additional ones that can be > easily determined at runtime, like this one. > > thanks, > > greg k-h
Hi Greg, I would love to do this in runtime and that was my intent all along until I hit a wall on *how* to find out it in runtime if I'm running on POWER9 with PHB4 or not. I did a search in the kernel code, consulted with a couple of people but I didn't get any way of doing this in runtime. If you have some way, please share it with me because I hit a wall with this issue.
The fact of the matter is, I have two different configurations of *my* device's PCIe controller. One is only suitable to POWER9 with PHB4 and the other one suits all the rest architectures/systems (that we have tested so far). So I have to know which system I'm running on and as I said, I didn't find a kernel API which can help me do that.
Thanks, Oded
| |