From e4e1cf9aff955941d57df527121b9bf34b2712b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 28 Nov 2013 18:38:45 +0100 Subject: [PATCH] PCI: moved IDE api flags to PCI.h --- headers/os/drivers/PCI.h | 12 ++++++++++++ headers/private/drivers/ata_adapter.h | 9 --------- headers/private/drivers/ide_adapter.h | 9 --------- .../kernel/generic/ata_adapter/ata_adapter.cpp | 4 ++-- .../kernel/generic/ide_adapter/ide_adapter.cpp | 4 ++-- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/headers/os/drivers/PCI.h b/headers/os/drivers/PCI.h index 873f3aceb4..c06d12f83a 100644 --- a/headers/os/drivers/PCI.h +++ b/headers/os/drivers/PCI.h @@ -327,6 +327,18 @@ struct pci_module_info { #define PCI_nvm 0x08 /* NVM Express controller */ #define PCI_mass_storage_other 0x80 /* other mass storage controller */ +/* --- + bit mask of the class_api field for + class_base = 0x01 (mass storage) + class_sub = 0x01 (IDE controller) +--- */ + +#define PCI_ide_primary_native 0x01 /* primary channel is in native mode */ +#define PCI_ide_primary_fixed 0x02 /* primary channel can be switched to native mode */ +#define PCI_ide_secondary_native 0x04 /* secondary channel is in native mode */ +#define PCI_ide_secondary_fixed 0x08 /* secondary channel can be switched to native mode */ +#define PCI_ide_master 0x80 /* master device */ + /* --- values of the class_api field for class_base = 0x01 (mass storage) diff --git a/headers/private/drivers/ata_adapter.h b/headers/private/drivers/ata_adapter.h index 286e1f4d17..15ec4f245e 100644 --- a/headers/private/drivers/ata_adapter.h +++ b/headers/private/drivers/ata_adapter.h @@ -55,15 +55,6 @@ enum { // offset of PRDT register; content must be dword-aligned }; -// bit mask in class_api of PCI configuration -// (for adapters that can run in compatability mode) -enum { - ATA_API_PRIMARY_NATIVE = 1, // primary channel is in native mode - ATA_API_PRIMARY_FIXED = 2, // primary channel can be switched to native mode - ATA_API_SECONDARY_NATIVE = 4, // secondary channel is in native mode - ATA_API_SECONDARY_FIXED = 8 // secondary channel can be switched to native mode -}; - // (maximum) size of S/G table // there are so many restrictions that we want to keep it inside one page diff --git a/headers/private/drivers/ide_adapter.h b/headers/private/drivers/ide_adapter.h index cc8a6baeaf..e35856021d 100644 --- a/headers/private/drivers/ide_adapter.h +++ b/headers/private/drivers/ide_adapter.h @@ -56,15 +56,6 @@ enum { // offset of PRDT register; content must be dword-aligned }; -// bit mask in class_api of PCI configuration -// (for adapters that can run in compatability mode) -enum { - IDE_API_PRIMARY_NATIVE = 1, // primary channel is in native mode - IDE_API_PRIMARY_FIXED = 2, // primary channel can be switched to native mode - IDE_API_SECONDARY_NATIVE = 4, // secondary channel is in native mode - IDE_API_SECONDARY_FIXED = 8 // secondary channel can be switched to native mode -}; - // (maximum) size of S/G table // there are so many restrictions that we want to keep it inside one page diff --git a/src/add-ons/kernel/generic/ata_adapter/ata_adapter.cpp b/src/add-ons/kernel/generic/ata_adapter/ata_adapter.cpp index 1b654a5dae..f7f190aab9 100644 --- a/src/add-ons/kernel/generic/ata_adapter/ata_adapter.cpp +++ b/src/add-ons/kernel/generic/ata_adapter/ata_adapter.cpp @@ -538,14 +538,14 @@ ata_adapter_detect_channel(pci_device_module_info *pci, pci_device *pci_device, api = pci->read_pci_config(pci_device, PCI_class_api, 1); if (supports_compatibility_mode - && channel_index == 0 && (api & ATA_API_PRIMARY_NATIVE) == 0) { + && channel_index == 0 && (api & PCI_ide_primary_native) == 0) { command_block_base = 0x1f0; control_block_base = 0x3f6; intnum = 14; TRACE("PCI-ATA: Controller in legacy mode: cmd %#x, ctrl %#x, irq %d\n", command_block_base, control_block_base, intnum); } else if (supports_compatibility_mode - && channel_index == 1 && (api & ATA_API_SECONDARY_NATIVE) == 0) { + && channel_index == 1 && (api & PCI_ide_secondary_native) == 0) { command_block_base = 0x170; control_block_base = 0x376; intnum = 15; diff --git a/src/add-ons/kernel/generic/ide_adapter/ide_adapter.cpp b/src/add-ons/kernel/generic/ide_adapter/ide_adapter.cpp index bce5b4a25e..f3905a04c6 100644 --- a/src/add-ons/kernel/generic/ide_adapter/ide_adapter.cpp +++ b/src/add-ons/kernel/generic/ide_adapter/ide_adapter.cpp @@ -518,14 +518,14 @@ ide_adapter_detect_channel(pci_device_module_info *pci, pci_device *pci_device, api = pci->read_pci_config(pci_device, PCI_class_api, 1); if (supports_compatibility_mode - && channel_index == 0 && (api & IDE_API_PRIMARY_NATIVE) == 0) { + && channel_index == 0 && (api & PCI_ide_primary_native) == 0) { command_block_base = 0x1f0; control_block_base = 0x3f6; intnum = 14; TRACE("PCI-IDE: Controller in legacy mode: cmd %#x, ctrl %#x, irq %d\n", command_block_base, control_block_base, intnum); } else if (supports_compatibility_mode - && channel_index == 1 && (api & IDE_API_SECONDARY_NATIVE) == 0) { + && channel_index == 1 && (api & PCI_ide_secondary_native) == 0) { command_block_base = 0x170; control_block_base = 0x376; intnum = 15;