RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
Robert Hancock wrote: >@@ -1153,6 +1164,15 @@ > pp->notifier_clear_block = pp->gen_block + > NV_ADMA_NOTIFIER_CLEAR + (4 * ap->port_no); > >+ /* Now that the legacy PRD and padding buffer are allocated we can >+ safely raise the DMA mask to allocate the CPB/APRD table. >+ These are allowed to fail since we store the value that ends up >+ being used to set as the bounce limit in slave_config later if >+ needed. */ >+ pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); >+ pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); >+ pp->adma_dma_mask = *dev->dma_mask; >+ > mem = dmam_alloc_coherent(dev, NV_ADMA_PORT_PRIV_DMA_SZ, > _dma, GFP_KERNEL); This causes my DMA memory to always be above 4GB no matter how much I delay the setting of the 64bit DMA mask. I find that if I set the DMA mask as 32bit and not increase it to 64 bit at all then all my I/O to the DVD rom are fine. Jeff Garzik wrote: >I would consider setting the consistent DMA mask to 32-bit, and setting >the overall mask to 64-bit. >Seems like that would solve the problem? I agree and I have tested that it is working. -Shyam Iyer -- This message was sent on behalf of [EMAIL PROTECTED] at openSubscriber.com http://www.opensubscriber.com/message/linux-kernel@vger.kernel.org/8218887.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
Robert Hancock wrote: @@ -1153,6 +1164,15 @@ pp-notifier_clear_block = pp-gen_block + NV_ADMA_NOTIFIER_CLEAR + (4 * ap-port_no); + /* Now that the legacy PRD and padding buffer are allocated we can + safely raise the DMA mask to allocate the CPB/APRD table. + These are allowed to fail since we store the value that ends up + being used to set as the bounce limit in slave_config later if + needed. */ + pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); + pp-adma_dma_mask = *dev-dma_mask; + mem = dmam_alloc_coherent(dev, NV_ADMA_PORT_PRIV_DMA_SZ, mem_dma, GFP_KERNEL); This causes my DMA memory to always be above 4GB no matter how much I delay the setting of the 64bit DMA mask. I find that if I set the DMA mask as 32bit and not increase it to 64 bit at all then all my I/O to the DVD rom are fine. Jeff Garzik wrote: I would consider setting the consistent DMA mask to 32-bit, and setting the overall mask to 64-bit. Seems like that would solve the problem? I agree and I have tested that it is working. -Shyam Iyer -- This message was sent on behalf of [EMAIL PROTECTED] at openSubscriber.com http://www.opensubscriber.com/message/linux-kernel@vger.kernel.org/8218887.html -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
>ata1.00: XXX DMA address 202275000 is above 32bit Tejun-I find the allocation always above 32bit with the following tests - 1) kernel-2.6.24-rc5 + the 32 bit limiting patch that you provided in a previous posting. 2) vanilla-2.6.24-rc5. But I don't find the DMA allocation above 32bit in the kernel logs when I apply my patch on the vanilla-2.6.24-rc5 kernel. -Shyam -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
The dmesg snippet with the patched kernel. This does not contain my patch. Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007 Command line: root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3 vga=0x31a resume=/dev/sda2 splash=verbose showopts 1 BIOS-provided physical RAM map: BIOS-e820: - 0009cc00 (usable) BIOS-e820: 0009cc00 - 000a (reserved) BIOS-e820: 000cc000 - 0010 (reserved) BIOS-e820: 0010 - 7fff (usable) BIOS-e820: 7fff - 8000 (reserved) BIOS-e820: 8000 - cff0 (usable) BIOS-e820: cff0 - cff0a000 (ACPI data) BIOS-e820: cff0a000 - cff8 (ACPI NVS) BIOS-e820: cff8 - d000 (reserved) BIOS-e820: e000 - f000 (reserved) BIOS-e820: fec0 - fec1 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff8 - 0001 (reserved) BIOS-e820: 0001 - 00023000 (usable) Entering add_active_range(0, 0, 156) 0 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used end_pfn_map = 2293760 DMI present. ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD ) ACPI: RSDT CFF064D5, 004C (r1 DELL PE_SC3604 DELL0) ACPI: FACP CFF09906, 0074 (r1 DELL PE_SC3604 DELLF4240) ACPI: DSDT CFF06521, 33E5 (r1 DELL PE_SC3604 MSFT 10E) ACPI: FACS CFF0AFC0, 0040 ACPI: TCPA CFF0997A, 0032 (r1 Phoeni x604 TL 0) ACPI: SLIC CFF099AC, 0176 (r1 DELL PE_SC3604 PTL 1) ACPI: SPCR CFF09B22, 0050 (r1 DELL PE_SC3604 PTL 1) ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1) ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW 604 AMD 1) ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604 LTP0) ACPI: HPET CFF09F42, 0038 (r1 PTLTD HPETTBL 604 LTP1) ACPI: APIC CFF09F7A, 005E (r1 PTLTD APIC604 LTP0) ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD $SBFTBL$ 604 LTP1) SRAT: PXM 0 -> APIC 0 -> Node 0 SRAT: PXM 0 -> APIC 1 -> Node 0 SRAT: Node 0 PXM 0 0-a Entering add_active_range(0, 0, 156) 0 entries of 3200 used SRAT: Node 0 PXM 0 0-d000 Entering add_active_range(0, 0, 156) 1 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used SRAT: Node 0 PXM 0 0-23000 Entering add_active_range(0, 0, 156) 3 entries of 3200 used Entering add_active_range(0, 256, 524272) 3 entries of 3200 used Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used NUMA: Using 63 for the hash shift. Bootmem setup node 0 -00023000 Zone PFN ranges: DMA 0 -> 4096 DMA324096 -> 1048576 Normal1048576 -> 2293760 Movable zone start PFN for each node early_node_map[4] active PFN ranges 0:0 -> 156 0: 256 -> 524272 0: 524288 -> 851712 0: 1048576 -> 2293760 On node 0 totalpages: 2096780 DMA zone: 96 pages used for memmap DMA zone: 2540 pages reserved DMA zone: 1360 pages, LIFO batch:0 DMA32 zone: 24480 pages used for memmap DMA32 zone: 823120 pages, LIFO batch:31 Normal zone: 29184 pages used for memmap Normal zone: 1216000 pages, LIFO batch:31 Movable zone: 0 pages used for memmap ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 (Bootup-CPU) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to flat ACPI: HPET id: 0x10de8201 base: 0xfed0 Using ACPI (MADT) for SMP configuration information swsusp: Registered nosave memory region: 0009c000 - 0009d000 swsusp: Registered nosave memory region: 0009d000 - 000a swsusp: Registered nosave memory region: 000a - 000cc000 swsusp: Registered nosave memory region: 000cc000 - 0010 swsusp: Registered nosave memory region: 7fff - 8000 swsusp: Registered nosave memory region: cff0 - cff0a000 swsusp: Registered nosave memory
RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
The dmesg snippet with the patched kernel. This does not contain my patch. Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007 Command line: root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3 vga=0x31a resume=/dev/sda2 splash=verbose showopts 1 BIOS-provided physical RAM map: BIOS-e820: - 0009cc00 (usable) BIOS-e820: 0009cc00 - 000a (reserved) BIOS-e820: 000cc000 - 0010 (reserved) BIOS-e820: 0010 - 7fff (usable) BIOS-e820: 7fff - 8000 (reserved) BIOS-e820: 8000 - cff0 (usable) BIOS-e820: cff0 - cff0a000 (ACPI data) BIOS-e820: cff0a000 - cff8 (ACPI NVS) BIOS-e820: cff8 - d000 (reserved) BIOS-e820: e000 - f000 (reserved) BIOS-e820: fec0 - fec1 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff8 - 0001 (reserved) BIOS-e820: 0001 - 00023000 (usable) Entering add_active_range(0, 0, 156) 0 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used end_pfn_map = 2293760 DMI present. ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD ) ACPI: RSDT CFF064D5, 004C (r1 DELL PE_SC3604 DELL0) ACPI: FACP CFF09906, 0074 (r1 DELL PE_SC3604 DELLF4240) ACPI: DSDT CFF06521, 33E5 (r1 DELL PE_SC3604 MSFT 10E) ACPI: FACS CFF0AFC0, 0040 ACPI: TCPA CFF0997A, 0032 (r1 Phoeni x604 TL 0) ACPI: SLIC CFF099AC, 0176 (r1 DELL PE_SC3604 PTL 1) ACPI: SPCR CFF09B22, 0050 (r1 DELL PE_SC3604 PTL 1) ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1) ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW 604 AMD 1) ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604 LTP0) ACPI: HPET CFF09F42, 0038 (r1 PTLTD HPETTBL 604 LTP1) ACPI: APIC CFF09F7A, 005E (r1 PTLTD APIC604 LTP0) ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD $SBFTBL$ 604 LTP1) SRAT: PXM 0 - APIC 0 - Node 0 SRAT: PXM 0 - APIC 1 - Node 0 SRAT: Node 0 PXM 0 0-a Entering add_active_range(0, 0, 156) 0 entries of 3200 used SRAT: Node 0 PXM 0 0-d000 Entering add_active_range(0, 0, 156) 1 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used SRAT: Node 0 PXM 0 0-23000 Entering add_active_range(0, 0, 156) 3 entries of 3200 used Entering add_active_range(0, 256, 524272) 3 entries of 3200 used Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used NUMA: Using 63 for the hash shift. Bootmem setup node 0 -00023000 Zone PFN ranges: DMA 0 - 4096 DMA324096 - 1048576 Normal1048576 - 2293760 Movable zone start PFN for each node early_node_map[4] active PFN ranges 0:0 - 156 0: 256 - 524272 0: 524288 - 851712 0: 1048576 - 2293760 On node 0 totalpages: 2096780 DMA zone: 96 pages used for memmap DMA zone: 2540 pages reserved DMA zone: 1360 pages, LIFO batch:0 DMA32 zone: 24480 pages used for memmap DMA32 zone: 823120 pages, LIFO batch:31 Normal zone: 29184 pages used for memmap Normal zone: 1216000 pages, LIFO batch:31 Movable zone: 0 pages used for memmap ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 (Bootup-CPU) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to flat ACPI: HPET id: 0x10de8201 base: 0xfed0 Using ACPI (MADT) for SMP configuration information swsusp: Registered nosave memory region: 0009c000 - 0009d000 swsusp: Registered nosave memory region: 0009d000 - 000a swsusp: Registered nosave memory region: 000a - 000cc000 swsusp: Registered nosave memory region: 000cc000 - 0010 swsusp: Registered nosave memory region: 7fff - 8000 swsusp: Registered nosave memory region: cff0 - cff0a000 swsusp: Registered nosave memory region:
RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
ata1.00: XXX DMA address 202275000 is above 32bit Tejun-I find the allocation always above 32bit with the following tests - 1) kernel-2.6.24-rc5 + the 32 bit limiting patch that you provided in a previous posting. 2) vanilla-2.6.24-rc5. But I don't find the DMA allocation above 32bit in the kernel logs when I apply my patch on the vanilla-2.6.24-rc5 kernel. -Shyam -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
I found that the patch Robert has provided hasn't gone into 2.6.24-rc5 so maybe it is not working. At the same time I did apply a small patch to 2.6.24-rc5 that seems to fix the issue. I feel this could just be added to 2.6.24-rc5 without Robert's patch because of Jeff Garzik's" sata_nv: don't use legacy DMA in ADMA mode (v3)" patch. It doesn't work without this patch because there is an allocation of memory from hpriv before the mask can be set. Please review. Signed-off-by: Shyam Iyer --- sata_nv.c.orig 2007-12-17 21:08:12.0 +0530 +++ sata_nv.c 2007-12-17 21:08:25.0 +0530 @@ -2407,6 +2407,12 @@ type = GENERIC; } + /* set 64bit dma masks, may fail */ + if (type == ADMA) { + if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) + pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); + } + ppi[0] = _port_info[type]; rc = ata_pci_prepare_sff_host(pdev, ppi, ); if (rc) @@ -2418,12 +2424,6 @@ hpriv->type = type; host->private_data = hpriv; - /* set 64bit dma masks, may fail */ - if (type == ADMA) { - if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) - pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); - } - /* request and iomap NV_MMIO_BAR */ rc = pcim_iomap_regions(pdev, 1 << NV_MMIO_BAR, DRV_NAME); if (rc) -- This message was sent on behalf of [EMAIL PROTECTED] at openSubscriber.com http://www.opensubscriber.com/message/linux-kernel@vger.kernel.org/8211470.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
Hello, I am seeing that this doesn't fix a Dell PowerEdge T105 which has the CK804 chipset. This system has a "HL-DT-ST" DVD-ROM (See dmesg with this posting) attached to the sata ports and has 8Gb physical memory. The SATA DVD rom gets detected but any I/O like dd or mount is not successful. If I reduce the memory with mem=<4Gb or disable the adma mode by passing adma=0, I am able to mount the media or do I/O. Dmesg output - Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007 Command line: root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3 vga=0x31a resume=/dev/sda2 splash=verbose showopts BIOS-provided physical RAM map: BIOS-e820: - 0009cc00 (usable) BIOS-e820: 0009cc00 - 000a (reserved) BIOS-e820: 000cc000 - 0010 (reserved) BIOS-e820: 0010 - 7fff (usable) BIOS-e820: 7fff - 8000 (reserved) BIOS-e820: 8000 - cff0 (usable) BIOS-e820: cff0 - cff0a000 (ACPI data) BIOS-e820: cff0a000 - cff8 (ACPI NVS) BIOS-e820: cff8 - d000 (reserved) BIOS-e820: e000 - f000 (reserved) BIOS-e820: fec0 - fec1 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff8 - 0001 (reserved) BIOS-e820: 0001 - 00023000 (usable) Entering add_active_range(0, 0, 156) 0 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used end_pfn_map = 2293760 DMI present. ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD ) ACPI: RSDT CFF064D5, 004C (r1 DELL PE_SC3604 DELL0) ACPI: FACP CFF09906, 0074 (r1 DELL PE_SC3604 DELLF4240) ACPI: DSDT CFF06521, 33E5 (r1 DELL PE_SC3604 MSFT 10E) ACPI: FACS CFF0AFC0, 0040 ACPI: TCPA CFF0997A, 0032 (r1 Phoeni x604 TL 0) ACPI: SLIC CFF099AC, 0176 (r1 DELL PE_SC3604 PTL 1) ACPI: SPCR CFF09B22, 0050 (r1 DELL PE_SC3604 PTL 1) ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1) ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW 604 AMD 1) ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604 LTP0) ACPI: HPET CFF09F42, 0038 (r1 PTLTD HPETTBL 604 LTP1) ACPI: APIC CFF09F7A, 005E (r1 PTLTD APIC604 LTP0) ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD $SBFTBL$ 604 LTP1) SRAT: PXM 0 -> APIC 0 -> Node 0 SRAT: PXM 0 -> APIC 1 -> Node 0 SRAT: Node 0 PXM 0 0-a Entering add_active_range(0, 0, 156) 0 entries of 3200 used SRAT: Node 0 PXM 0 0-d000 Entering add_active_range(0, 0, 156) 1 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used SRAT: Node 0 PXM 0 0-23000 Entering add_active_range(0, 0, 156) 3 entries of 3200 used Entering add_active_range(0, 256, 524272) 3 entries of 3200 used Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used NUMA: Using 63 for the hash shift. Bootmem setup node 0 -00023000 Zone PFN ranges: DMA 0 -> 4096 DMA324096 -> 1048576 Normal1048576 -> 2293760 Movable zone start PFN for each node early_node_map[4] active PFN ranges 0:0 -> 156 0: 256 -> 524272 0: 524288 -> 851712 0: 1048576 -> 2293760 On node 0 totalpages: 2096780 DMA zone: 96 pages used for memmap DMA zone: 2540 pages reserved DMA zone: 1360 pages, LIFO batch:0 DMA32 zone: 24480 pages used for memmap DMA32 zone: 823120 pages, LIFO batch:31 Normal zone: 29184 pages used for memmap Normal zone: 1216000 pages, LIFO batch:31 Movable zone: 0 pages used for memmap ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 (Bootup-CPU) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to flat ACPI: HPET id: 0x10de8201 base: 0xfed0 Using ACPI (MADT) for SMP configuration information swsusp: Registered nosave memory region: 0009c000 - 0009d000 swsusp: Registered nosave memory region: 0009d000
Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
Hello, I am seeing that this doesn't fix a Dell PowerEdge T105 which has the CK804 chipset. This system has a "HL-DT-ST" DVD-ROM (See dmesg with this posting) attached to the sata ports and has 8Gb physical memory. The SATA DVD rom gets detected but any I/O like dd or mount is not successful. If I reduce the memory with mem=<4Gb or disable the adma mode by passing adma=0, I am able to mount the media or do I/O. Dmesg output - Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007 Command line: root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3 vga=0x31a resume=/dev/sda2 splash=verbose showopts BIOS-provided physical RAM map: BIOS-e820: - 0009cc00 (usable) BIOS-e820: 0009cc00 - 000a (reserved) BIOS-e820: 000cc000 - 0010 (reserved) BIOS-e820: 0010 - 7fff (usable) BIOS-e820: 7fff - 8000 (reserved) BIOS-e820: 8000 - cff0 (usable) BIOS-e820: cff0 - cff0a000 (ACPI data) BIOS-e820: cff0a000 - cff8 (ACPI NVS) BIOS-e820: cff8 - d000 (reserved) BIOS-e820: e000 - f000 (reserved) BIOS-e820: fec0 - fec1 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff8 - 0001 (reserved) BIOS-e820: 0001 - 00023000 (usable) Entering add_active_range(0, 0, 156) 0 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used end_pfn_map = 2293760 DMI present. ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD ) ACPI: RSDT CFF064D5, 004C (r1 DELL PE_SC3604 DELL0) ACPI: FACP CFF09906, 0074 (r1 DELL PE_SC3604 DELLF4240) ACPI: DSDT CFF06521, 33E5 (r1 DELL PE_SC3604 MSFT 10E) ACPI: FACS CFF0AFC0, 0040 ACPI: TCPA CFF0997A, 0032 (r1 Phoeni x604 TL 0) ACPI: SLIC CFF099AC, 0176 (r1 DELL PE_SC3604 PTL 1) ACPI: SPCR CFF09B22, 0050 (r1 DELL PE_SC3604 PTL 1) ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1) ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW 604 AMD 1) ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604 LTP0) ACPI: HPET CFF09F42, 0038 (r1 PTLTD HPETTBL 604 LTP1) ACPI: APIC CFF09F7A, 005E (r1 PTLTD APIC604 LTP0) ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD $SBFTBL$ 604 LTP1) SRAT: PXM 0 -> APIC 0 -> Node 0 SRAT: PXM 0 -> APIC 1 -> Node 0 SRAT: Node 0 PXM 0 0-a Entering add_active_range(0, 0, 156) 0 entries of 3200 used SRAT: Node 0 PXM 0 0-d000 Entering add_active_range(0, 0, 156) 1 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used SRAT: Node 0 PXM 0 0-23000 Entering add_active_range(0, 0, 156) 3 entries of 3200 used Entering add_active_range(0, 256, 524272) 3 entries of 3200 used Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used NUMA: Using 63 for the hash shift. Bootmem setup node 0 -00023000 Zone PFN ranges: DMA 0 -> 4096 DMA324096 -> 1048576 Normal1048576 -> 2293760 Movable zone start PFN for each node early_node_map[4] active PFN ranges 0:0 -> 156 0: 256 -> 524272 0: 524288 -> 851712 0: 1048576 -> 2293760 On node 0 totalpages: 2096780 DMA zone: 96 pages used for memmap DMA zone: 2540 pages reserved DMA zone: 1360 pages, LIFO batch:0 DMA32 zone: 24480 pages used for memmap DMA32 zone: 823120 pages, LIFO batch:31 Normal zone: 29184 pages used for memmap Normal zone: 1216000 pages, LIFO batch:31 Movable zone: 0 pages used for memmap ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 (Bootup-CPU) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to flat ACPI: HPET id: 0x10de8201 base: 0xfed0 Using ACPI (MADT) for SMP configuration information swsusp: Registered nosave memory region: 0009c000 - 0009d000 swsusp: Registered nosave memory region: 0009d000
Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
Hello, I am seeing that this doesn't fix a Dell PowerEdge T105 which has the CK804 chipset. This system has a HL-DT-ST DVD-ROM (See dmesg with this posting) attached to the sata ports and has 8Gb physical memory. The SATA DVD rom gets detected but any I/O like dd or mount is not successful. If I reduce the memory with mem=4Gb or disable the adma mode by passing adma=0, I am able to mount the media or do I/O. Dmesg output - Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007 Command line: root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3 vga=0x31a resume=/dev/sda2 splash=verbose showopts BIOS-provided physical RAM map: BIOS-e820: - 0009cc00 (usable) BIOS-e820: 0009cc00 - 000a (reserved) BIOS-e820: 000cc000 - 0010 (reserved) BIOS-e820: 0010 - 7fff (usable) BIOS-e820: 7fff - 8000 (reserved) BIOS-e820: 8000 - cff0 (usable) BIOS-e820: cff0 - cff0a000 (ACPI data) BIOS-e820: cff0a000 - cff8 (ACPI NVS) BIOS-e820: cff8 - d000 (reserved) BIOS-e820: e000 - f000 (reserved) BIOS-e820: fec0 - fec1 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff8 - 0001 (reserved) BIOS-e820: 0001 - 00023000 (usable) Entering add_active_range(0, 0, 156) 0 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used end_pfn_map = 2293760 DMI present. ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD ) ACPI: RSDT CFF064D5, 004C (r1 DELL PE_SC3604 DELL0) ACPI: FACP CFF09906, 0074 (r1 DELL PE_SC3604 DELLF4240) ACPI: DSDT CFF06521, 33E5 (r1 DELL PE_SC3604 MSFT 10E) ACPI: FACS CFF0AFC0, 0040 ACPI: TCPA CFF0997A, 0032 (r1 Phoeni x604 TL 0) ACPI: SLIC CFF099AC, 0176 (r1 DELL PE_SC3604 PTL 1) ACPI: SPCR CFF09B22, 0050 (r1 DELL PE_SC3604 PTL 1) ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1) ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW 604 AMD 1) ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604 LTP0) ACPI: HPET CFF09F42, 0038 (r1 PTLTD HPETTBL 604 LTP1) ACPI: APIC CFF09F7A, 005E (r1 PTLTD APIC604 LTP0) ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD $SBFTBL$ 604 LTP1) SRAT: PXM 0 - APIC 0 - Node 0 SRAT: PXM 0 - APIC 1 - Node 0 SRAT: Node 0 PXM 0 0-a Entering add_active_range(0, 0, 156) 0 entries of 3200 used SRAT: Node 0 PXM 0 0-d000 Entering add_active_range(0, 0, 156) 1 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used SRAT: Node 0 PXM 0 0-23000 Entering add_active_range(0, 0, 156) 3 entries of 3200 used Entering add_active_range(0, 256, 524272) 3 entries of 3200 used Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used NUMA: Using 63 for the hash shift. Bootmem setup node 0 -00023000 Zone PFN ranges: DMA 0 - 4096 DMA324096 - 1048576 Normal1048576 - 2293760 Movable zone start PFN for each node early_node_map[4] active PFN ranges 0:0 - 156 0: 256 - 524272 0: 524288 - 851712 0: 1048576 - 2293760 On node 0 totalpages: 2096780 DMA zone: 96 pages used for memmap DMA zone: 2540 pages reserved DMA zone: 1360 pages, LIFO batch:0 DMA32 zone: 24480 pages used for memmap DMA32 zone: 823120 pages, LIFO batch:31 Normal zone: 29184 pages used for memmap Normal zone: 1216000 pages, LIFO batch:31 Movable zone: 0 pages used for memmap ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 (Bootup-CPU) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to flat ACPI: HPET id: 0x10de8201 base: 0xfed0 Using ACPI (MADT) for SMP configuration information swsusp: Registered nosave memory region: 0009c000 - 0009d000 swsusp: Registered nosave memory region: 0009d000 -
Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
Hello, I am seeing that this doesn't fix a Dell PowerEdge T105 which has the CK804 chipset. This system has a HL-DT-ST DVD-ROM (See dmesg with this posting) attached to the sata ports and has 8Gb physical memory. The SATA DVD rom gets detected but any I/O like dd or mount is not successful. If I reduce the memory with mem=4Gb or disable the adma mode by passing adma=0, I am able to mount the media or do I/O. Dmesg output - Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007 Command line: root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3 vga=0x31a resume=/dev/sda2 splash=verbose showopts BIOS-provided physical RAM map: BIOS-e820: - 0009cc00 (usable) BIOS-e820: 0009cc00 - 000a (reserved) BIOS-e820: 000cc000 - 0010 (reserved) BIOS-e820: 0010 - 7fff (usable) BIOS-e820: 7fff - 8000 (reserved) BIOS-e820: 8000 - cff0 (usable) BIOS-e820: cff0 - cff0a000 (ACPI data) BIOS-e820: cff0a000 - cff8 (ACPI NVS) BIOS-e820: cff8 - d000 (reserved) BIOS-e820: e000 - f000 (reserved) BIOS-e820: fec0 - fec1 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff8 - 0001 (reserved) BIOS-e820: 0001 - 00023000 (usable) Entering add_active_range(0, 0, 156) 0 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used end_pfn_map = 2293760 DMI present. ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD ) ACPI: RSDT CFF064D5, 004C (r1 DELL PE_SC3604 DELL0) ACPI: FACP CFF09906, 0074 (r1 DELL PE_SC3604 DELLF4240) ACPI: DSDT CFF06521, 33E5 (r1 DELL PE_SC3604 MSFT 10E) ACPI: FACS CFF0AFC0, 0040 ACPI: TCPA CFF0997A, 0032 (r1 Phoeni x604 TL 0) ACPI: SLIC CFF099AC, 0176 (r1 DELL PE_SC3604 PTL 1) ACPI: SPCR CFF09B22, 0050 (r1 DELL PE_SC3604 PTL 1) ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1) ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW 604 AMD 1) ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604 LTP0) ACPI: HPET CFF09F42, 0038 (r1 PTLTD HPETTBL 604 LTP1) ACPI: APIC CFF09F7A, 005E (r1 PTLTD APIC604 LTP0) ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD $SBFTBL$ 604 LTP1) SRAT: PXM 0 - APIC 0 - Node 0 SRAT: PXM 0 - APIC 1 - Node 0 SRAT: Node 0 PXM 0 0-a Entering add_active_range(0, 0, 156) 0 entries of 3200 used SRAT: Node 0 PXM 0 0-d000 Entering add_active_range(0, 0, 156) 1 entries of 3200 used Entering add_active_range(0, 256, 524272) 1 entries of 3200 used Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used SRAT: Node 0 PXM 0 0-23000 Entering add_active_range(0, 0, 156) 3 entries of 3200 used Entering add_active_range(0, 256, 524272) 3 entries of 3200 used Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used NUMA: Using 63 for the hash shift. Bootmem setup node 0 -00023000 Zone PFN ranges: DMA 0 - 4096 DMA324096 - 1048576 Normal1048576 - 2293760 Movable zone start PFN for each node early_node_map[4] active PFN ranges 0:0 - 156 0: 256 - 524272 0: 524288 - 851712 0: 1048576 - 2293760 On node 0 totalpages: 2096780 DMA zone: 96 pages used for memmap DMA zone: 2540 pages reserved DMA zone: 1360 pages, LIFO batch:0 DMA32 zone: 24480 pages used for memmap DMA32 zone: 823120 pages, LIFO batch:31 Normal zone: 29184 pages used for memmap Normal zone: 1216000 pages, LIFO batch:31 Movable zone: 0 pages used for memmap ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 (Bootup-CPU) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) Processor #1 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to flat ACPI: HPET id: 0x10de8201 base: 0xfed0 Using ACPI (MADT) for SMP configuration information swsusp: Registered nosave memory region: 0009c000 - 0009d000 swsusp: Registered nosave memory region: 0009d000 -
Re: Re: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)
I found that the patch Robert has provided hasn't gone into 2.6.24-rc5 so maybe it is not working. At the same time I did apply a small patch to 2.6.24-rc5 that seems to fix the issue. I feel this could just be added to 2.6.24-rc5 without Robert's patch because of Jeff Garzik's sata_nv: don't use legacy DMA in ADMA mode (v3) patch. It doesn't work without this patch because there is an allocation of memory from hpriv before the mask can be set. Please review. Signed-off-by: Shyam Iyer --- sata_nv.c.orig 2007-12-17 21:08:12.0 +0530 +++ sata_nv.c 2007-12-17 21:08:25.0 +0530 @@ -2407,6 +2407,12 @@ type = GENERIC; } + /* set 64bit dma masks, may fail */ + if (type == ADMA) { + if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) + pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); + } + ppi[0] = nv_port_info[type]; rc = ata_pci_prepare_sff_host(pdev, ppi, host); if (rc) @@ -2418,12 +2424,6 @@ hpriv-type = type; host-private_data = hpriv; - /* set 64bit dma masks, may fail */ - if (type == ADMA) { - if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) - pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); - } - /* request and iomap NV_MMIO_BAR */ rc = pcim_iomap_regions(pdev, 1 NV_MMIO_BAR, DRV_NAME); if (rc) -- This message was sent on behalf of [EMAIL PROTECTED] at openSubscriber.com http://www.opensubscriber.com/message/linux-kernel@vger.kernel.org/8211470.html -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/