* grasping why mpt2sas fails with BITS_PER_LONG conditional
@ 2011-07-13 13:02 Ayman El-Khashab
2011-07-13 13:20 ` Josh Boyer
0 siblings, 1 reply; 2+ messages in thread
From: Ayman El-Khashab @ 2011-07-13 13:02 UTC (permalink / raw)
To: linuxppc-dev
I've had problems with the mpt2sas driver
(drivers/scsi/mpt2sas/mpt2sas_base.c) when using it on my
ppc44x. Basically, there is a check in the code for
BITS_PER_LONG and certain code is executed if it is 64 vs 32
bit. I am guessing it is a problem with the driver but it
only shows up on powerpc. If i force it to take the 64 bit
path it works fine, but if I let the preprocessor decide it
will take the 32 bit path and fail later. I am not
configuring my kernel as 64 bit, but I am guessing this has
to do with the 36 bit plb bus on these parts.
can somebody enlighten me as to what the right thing to do
here is?
thanks
ayman
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: grasping why mpt2sas fails with BITS_PER_LONG conditional
2011-07-13 13:02 grasping why mpt2sas fails with BITS_PER_LONG conditional Ayman El-Khashab
@ 2011-07-13 13:20 ` Josh Boyer
0 siblings, 0 replies; 2+ messages in thread
From: Josh Boyer @ 2011-07-13 13:20 UTC (permalink / raw)
To: Ayman El-Khashab; +Cc: linuxppc-dev
On Wed, Jul 13, 2011 at 9:02 AM, Ayman El-Khashab <ayman@elkhashab.com> wro=
te:
> I've had problems with the mpt2sas driver
> (drivers/scsi/mpt2sas/mpt2sas_base.c) when using it on my
> ppc44x. =A0Basically, there is a check in the code for
> BITS_PER_LONG and certain code is executed if it is 64 vs 32
> bit. =A0I am guessing it is a problem with the driver but it
> only shows up on powerpc. =A0If i force it to take the 64 bit
> path it works fine, but if I let the preprocessor decide it
> will take the 32 bit path and fail later. =A0I am not
> configuring my kernel as 64 bit, but I am guessing this has
> to do with the 36 bit plb bus on these parts.
That seems like a good theory to me.
> can somebody enlighten me as to what the right thing to do
> here is?
I'd suggest changing the check in the driver away from BITS_PER_LONG
and try making the conditionals based on CONFIG_ARCH_DMA_ADDR_T_64BIT
instead. On machines with 36-bit physical addressing, that gets set
and it should fall into the code paths you say work.
josh
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-07-13 13:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-13 13:02 grasping why mpt2sas fails with BITS_PER_LONG conditional Ayman El-Khashab
2011-07-13 13:20 ` Josh Boyer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox