nforce2 dma enabled
PATCH 1/1 nforce2 dma enabled
Hi
I just got a new toy an epox EP-8RDA. Since there is an nforce2 chipset onboard and only support for the nforce (whithout 2) in the 2.4.20-ac2 kernel. I just concluded that the new ide driver should be pretty similar to the old one. i had absolutly no documentation! so be careful! Personally i did an full backup *before* fiddling with the ide driver :)
The patch just adds the pci id of the nforce ide controller and added a new information block to the ide_pci_device_t structure. Also i added an entry to pci_device_id.
This is my first public patch so suggestions or other feedback is very welcome. I would also like to know why the lspci command still tells me this is an unknown device after applying my patch seen below. Also if someone has a hint why the usb-devices have no interrupt assigned and thus are not available is very welcome (probably disable acpi?).
However currently i am runing with following settings enabled (by hand):/dev/hda:
multcount = 16 (on) IO_support = 1 (32-bit) unmaskirq = 1 (on) using_dma = 1 (on) keepsettings = 1 (on) readonly = 0 (off) readahead = 8 (on)
geometry = 15505/240/63, sectors = 234441648, start = 0
Have fun
Tim
PS: Please CC me since im am currently not subscribed to the list
diff -r -C 2 ../linux-2.4.20/drivers/ide/pci/nvidia.c ./drivers/ide/pci/nvidia.c
*** ../linux-2.4.20/drivers/ide/pci/nvidia.c Thu Dec 12 14:22:55 2002
--- ./drivers/ide/pci/nvidia.c Thu Dec 12 13:53:11 2002
***************
*** 342,345 ****
--- 342,346 ----
static struct pci_device_id nforce_pci_tbl[] __devinitdata = {
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
{ 0, },
};
diff -r -C 2 ../linux-2.4.20/drivers/ide/pci/nvidia.h ./drivers/ide/pci/nvidia.h
*** ../linux-2.4.20/drivers/ide/pci/nvidia.h Thu Dec 12 14:22:55 2002
--- ./drivers/ide/pci/nvidia.h Thu Dec 12 13:55:06 2002
***************
*** 44,47 ****
--- 44,62 ----
bootable: ON_BOARD,
extra: 0,
+ },
+
+ {
+ vendor: PCI_VENDOR_ID_NVIDIA,
+ device: PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE,
+ name: "NFORCE2",
+ init_chipset: init_chipset_nforce,
+ init_iops: NULL,
+ init_hwif: init_hwif_nforce,
+ init_dma: init_dma_nforce,
+ channels: 2,
+ autodma: AUTODMA,
+ enablebits: {{0x50,0x01,0x01}, {0x50,0x02,0x02}},
+ bootable: ON_BOARD,
+ extra: 0,
}
};
Only in ../linux-2.4.20/drivers/net/wan: hdlc.c
diff -r -C 2 ../linux-2.4.20/include/linux/pci_ids.h ./include/linux/pci_ids.h
*** ../linux-2.4.20/include/linux/pci_ids.h Thu Dec 12 14:22:55 2002
--- ./include/linux/pci_ids.h Thu Dec 12 13:38:56 2002
***************
*** 914,917 ****
--- 914,918 ----
#define PCI_DEVICE_ID_NVIDIA_IGEFORCE2 0x01a0
#define PCI_DEVICE_ID_NVIDIA_NFORCE_IDE 0x01bc
+ #define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065
#define PCI_DEVICE_ID_NVIDIA_GEFORCE3 0x0200
#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_1 0x0201
Quoted 3 lines · Tim Krieglstein
The patch just adds the pci id of the nforce ide controller and added a new information block to the
ide_pci_device_tstructure. Also i added an entry topci_device_id.
Thanks.
Quoted 2 lines
welcome. I would also like to know why the lspci command still tells me this is an unknown device after applying my patch seen below. Also if
lspci uses its own tables in user space
Quoted 2 lines
someone has a hint why the usb-devices have no interrupt assigned and thus are not available is very welcome (probably disable acpi?).
The BIOS didnt assign one. Since we don't have any useful docs we also can't reassign one unless the BIOS does it - which it might do.