From: thomas schorpp <t.schorpp@gmx.de>
To: SCSI development list <linux-scsi@vger.kernel.org>
Subject: Re: aic7xxx: aic7892(B): BUG: soft lockup detected on CPU#0!
Date: Sat, 24 Mar 2007 01:51:01 +0100 [thread overview]
Message-ID: <460475F5.1080805@gmx.de> (raw)
In-Reply-To: <46042383.7010704@gmx.de>
thomas schorpp wrote:
> thomas schorpp wrote:
>> James Bottomley wrote:
>>> On Fri, 2007-03-23 at 17:28 +0100, thomas schorpp wrote:
>>>>> i agree for this to be a 32bit dma busmaster chip,
>>>>> since pci_resource_flags and lspci say 64bit mem resource type
>>>>>
>>>>> aic7xxx: pci_resource_start fffff000 *maddr 20000 mem64 4
>>>>>
>>
>> static int
>> ahc_linux_pci_reserve_mem_region(struct ahc_softc *ahc,
>> u_long *bus_addr,
>> uint8_t __iomem **maddr)
>> {
>> // u_long start;
>> u_long len;
>> int error;
>> uint64_t start;
>> ...
>> printk(KERN_WARNING "aic7xxx: pci_resource_start 0x%llx mem64
>> 0x%lx\n", start, pci_resource_flags(ahc->dev_softc, 1) &
>> PCI_BASE_ADDRESS_MEM_TYPE_64 ); //schorpp
>> return (error);
>>
>> aic7xxx: pci_resource_start 0xffffff000 mem64 0x4
>> -----------------------------------------------^
>>
>> just to doublecheck the situation, posted lspci already.
>>
>> will check next, if
>> len = pci_resource_len(ahc->dev_softc, 1);
>> if (start != 0) {
>> *bus_addr = start;
>> // if (request_mem_region(start, 0x1000, "aic7xxx") == 0)
>> if (request_mem_region(start, len, "aic7xxx") == 0)
>>
>> succeeds.
>
> no. so the pci layer reports wrong start:
nonsense. it succeeds, confused function return with the error flag:
// u_long start;
// u_long start = 0xFFEFF000;
u_long start = 0x30000000;
int error;
struct resource* ret1;
error = 0;
// start = pci_resource_start(ahc->dev_softc, 1);
if (start != 0) {
*bus_addr = start;
if ((ret1 = request_mem_region(start, 0x1000, "aic7xxx")) == 0)
error = ENOMEM;
printk(KERN_WARNING "aic7xxx: req_mem_region start 0x%lx\n", \
ret1->start); //schorpp
if (error == 0) {
*maddr = ioremap_nocache(start, 256);
if (*maddr == NULL) {
error = ENOMEM;
release_mem_region(start, 0x1000);
}
}
} else
error = ENOMEM;
tom1:~# dmesg |grep aic
aic7xxx: DMA_32BIT_MASK
aic7xxx: req_mem_region start 0x30000000
aic7xxx: pci_resource_start 0x30000000 **maddr 0xff mem64 0x4
aic7xxx: PCI Device 0:6:0 failed memory mapped test. Using PIO.
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
tried the mem start value from lspci on a running knoppix and winxp,
but the if (ahc_pci_test_register_access(ahc) != 0) {
does not go.
thought the pci resources were constant and i could hardcode for my system ;)
remarkable is, with this mem start setting the kernel autofree(?) does not take action.
>
>>
>>>>> we've a bug in the x86_64 linux pci config, BIOS is ok, the
>>>>> hardware worked fine in a winxp_x64 test setup a few months ago.
>>>>>
>>>>> will ask LKML.
>>>>>
>>>>> y
>>>>> tom
>>>> sorry, wrong according to http://download.adaptec.com/pdfs/aic7892.pdf.
>>>>
>>>> "66 MHz, 64-bit, PCI interface that
>>>> supports zero wait-state memory;
>>>> also operates on 33 MHz, 32-bit
>>>> PCI busses"
>>>>
>>>> this chip is capable of 64bit addressing, as pci_resource_nnnn
>>>> (checking this) on x86_64 platform and lspci on x86_64 *and* AMDK7
>>>> configured kernels reports, even on PCI/32, right?
>>>> or is it impossible to do multiplexed 64bit mem addressing on PCI/32?
>>>
>>> It can only do 37 bit addressing ... only the aic79xx can do the full 64
>>> bits, so I suspect it should never get a 64 bit BAR, since it wouldn't
>>> be able to decode the full 32 bits. I can fix the mmio check not to
>>> hang, but the card won't actually work mmio until whatever's assigning
>>> the BAR above 32 bits is fixed (that could either be a kernel PCI bug or
>>> a BIOS bug).
>>>
>>
>> ok, i trust in that. adaptor bios and mainboard bios *are* out,
>> winxp_x64 driver handled all.
>> so agree on kernel pci hal issue.
>> but what for const uint64_t mask_39bit = 0x7FFFFFFFFFULL;
>> then?
>>
>>>>
>>>> can adaptec.inc pls comment? since the aha19160 card is still in
>>>> production state, i assume they want to have a linux x86_64 dma
>>>> capable driver. so far it is not, or can other users having this
>>>> card pls confirm my pci system broken?
>>>
>>> James
>>>
>>>
>>
>> y
>> tom
>>
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2007-03-24 0:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-22 15:14 aic7xxx: aic7892(B): BUG: soft lockup detected on CPU#0! thomas schorpp
2007-03-22 16:57 ` thomas schorpp
2007-03-22 21:02 ` thomas schorpp
2007-03-22 23:00 ` thomas schorpp
2007-03-23 1:26 ` thomas schorpp
2007-03-23 4:45 ` James Bottomley
2007-03-23 7:32 ` thomas schorpp
2007-03-23 16:28 ` thomas schorpp
2007-03-23 17:23 ` James Bottomley
2007-03-23 18:23 ` thomas schorpp
2007-03-23 18:59 ` thomas schorpp
2007-03-24 0:51 ` thomas schorpp [this message]
2007-03-24 1:17 ` James Bottomley
2007-03-24 3:44 ` thomas schorpp
2007-03-24 4:05 ` thomas schorpp
2007-03-27 6:52 ` thomas schorpp
2007-03-29 20:13 ` thomas schorpp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=460475F5.1080805@gmx.de \
--to=t.schorpp@gmx.de \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.