Re: qla1280 driver for qlogic-1040 on alpha

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

 



Hi,

I've made some changes to the qla1280 driver, the changes include
things like checking if the card is in a 64-bit slot and setting
DMA_BIT_MASK and enable_64bit_addressing accordingly. Also in the
driver information string, it now shows hardware revision on 1040
chips as well as printing info on its PCI slot (32 or 64 bit). I've
tested it with a ISP1040B card and a ISP1080 and it seems to work
fine. This may be of interest to others still running legacy qlogic
SCSI-controllers?

On Fri, Oct 25, 2024 at 10:48 PM Magnus Lindholm <linmag7@xxxxxxxxx> wrote:
>
> Hi,
>
>
> As you can see below, the driver  says "enable 64bit addressing=0"
> when dumping nvram settings. The qlogic-1040 card is only a 32-bit
> card plugged into a 64-bit slot. I guess the card is not original to
> the ES40, I have other cards that I can use, i.e a  53c8xx is also
> present in the system. Would it make sense to have the driver honor
> the nvram flag for 64-bit addressing, at least for the 1040 cards? I'm
> thinking I should give it a go... btw. the card runs fine even when
> the driver is compiled in 64bit mode, just as long as I stay below 2GB
> ram or when explicitly setting the DMA_BIT_MASK when building the
> driver. (I guess most systems around when the qla1040 was hot stuff
> had less than 2GB ram).
>
> This is the output I get from running the driver with debug enabled:
>
> [   19.109365] qla1280: QLA1040 found on PCI bus 2, dev 4
> [   19.110341] scsi(0): 64 Bit PCI Addressing Enabled
> [   19.110341] Configure PCI space for adapter...
> [   19.111318] scsi(2): Verifying chip
> [   19.111318] qla1280_chip_diag: Checking mailboxes of chip
> [   19.111318] Loading firmware: qlogic/1040.bin
> [   19.749013] qla1280_start_firmware: Verifying checksum of loaded RISC code.
> [   19.757802] qla1280_start_firmware: start firmware running.
> [   19.760732] scsi(2): Configure NVRAM parameters
> [   19.760732] Using defaults for NVRAM:
> [   19.760732] qla1280 : initiator scsi id bus[0]=7
> [   19.760732] qla1280 : initiator scsi id bus[1]=7
> [   19.760732] qla1280 : bus reset delay[0]=3
> [   19.760732] qla1280 : bus reset delay[1]=3
> [   19.760732] qla1280 : retry count[0]=0
> [   19.760732] qla1280 : retry delay[0]=1
> [   19.760732] qla1280 : retry count[1]=0
> [   19.760732] qla1280 : retry delay[1]=1
> [   19.760732] qla1280 : async data setup time[0]=6
> [   19.760732] qla1280 : async data setup time[1]=6
> [   19.760732] qla1280 : req/ack active negation[0]=1
> [   19.760732] qla1280 : req/ack active negation[1]=1
> [   19.760732] qla1280 : data line active negation[0]=1
> [   19.760732] qla1280 : data line active negation[1]=1
> [   19.760732] qla1280 : disable loading risc code=0
> [   19.760732] qla1280 : enable 64bit addressing=0
> [   19.760732] qla1280 : selection timeout limit[0]=250
> [   19.760732] qla1280 : selection timeout limit[1]=250
> [   19.760732] qla1280 : max queue depth[0]=32
> [   19.760732] qla1280 : max queue depth[1]=32
> [   19.772450] scsi(2:0): Resetting SCSI BUS
> [   22.812488] scsi host2: QLogic QLA1040 PCI to SCSI Host Adapter
>                       Firmware version:  7.65.06, Driver version 3.27.2
>
>
> On Fri, Oct 25, 2024 at 10:00 PM Martin K. Petersen
> <martin.petersen@xxxxxxxxxx> wrote:
> >
> >
> > Hi Magnus!
> >
> > > I've been running linux on alpha (alphaserver es40) for a while, using
> > > a qlogic-1040 scsi controller. A few weeks ago I added more RAM to the
> > > es40, but as soon as I got above 2GB RAM I started seeing file system
> > > corruptions on the drive attached to the qlogic controller.
> >
> > The qla1280 driver has been used extensively on 64-bit platforms.
> >
> > Is your isp1040 original to the ES40? My Alphas used 53c8xx series
> > controllers if I remember correctly. And with the ES40 being fairly
> > recent (21264), I would have thought it would have used a slightly more
> > modern controller than a 1040.
> >
> > > The nvram flag "enable_64bit_addressing" on the qlogic board is not
> > > checked nor set by the driver.
> >
> > That would be a good place to start. Maybe if you could dump the NVRAM
> > contents and validate if that is set by the 1040 firmware? I'm afraid I
> > don't have a databook. But the 1040 was current right around the time
> > the industry transitioned from 32 to 64-bit so it could very well be
> > broken.
> >
> > If you can establish whether that flag is unset on your controller,
> > we could use that as a heuristic for configuring DMA.
> >
> > --
> > Martin K. Petersen      Oracle Linux Engineering





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux