pdc202xx_old.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 182 行
H
182 行
#ifndef PDC202XX_H#define PDC202XX_H#include <linux/config.h>#include <linux/pci.h>#include <linux/ide.h>#ifndef SPLIT_BYTE#define SPLIT_BYTE(B,H,L) ((H)=(B>>4), (L)=(B-((B>>4)<<4)))#endif#define PDC202XX_DEBUG_DRIVE_INFO 0static const char *pdc_quirk_drives[] = { "QUANTUM FIREBALLlct08 08", "QUANTUM FIREBALLP KA6.4", "QUANTUM FIREBALLP KA9.1", "QUANTUM FIREBALLP LM20.4", "QUANTUM FIREBALLP KX13.6", "QUANTUM FIREBALLP KX20.5", "QUANTUM FIREBALLP KX27.3", "QUANTUM FIREBALLP LM20.5", NULL};static inline u8 *pdc202xx_pio_verbose (u32 drive_pci){ if ((drive_pci & 0x000ff000) == 0x000ff000) return("NOTSET"); if ((drive_pci & 0x00000401) == 0x00000401) return("PIO 4"); if ((drive_pci & 0x00000602) == 0x00000602) return("PIO 3"); if ((drive_pci & 0x00000803) == 0x00000803) return("PIO 2"); if ((drive_pci & 0x00000C05) == 0x00000C05) return("PIO 1"); if ((drive_pci & 0x00001309) == 0x00001309) return("PIO 0"); return("PIO ?");}static inline u8 *pdc202xx_dma_verbose (u32 drive_pci){ if ((drive_pci & 0x00036000) == 0x00036000) return("MWDMA 2"); if ((drive_pci & 0x00046000) == 0x00046000) return("MWDMA 1"); if ((drive_pci & 0x00056000) == 0x00056000) return("MWDMA 0"); if ((drive_pci & 0x00056000) == 0x00056000) return("SWDMA 2"); if ((drive_pci & 0x00068000) == 0x00068000) return("SWDMA 1"); if ((drive_pci & 0x000BC000) == 0x000BC000) return("SWDMA 0"); return("PIO---");}static inline u8 *pdc202xx_ultra_verbose (u32 drive_pci, u16 slow_cable){ if ((drive_pci & 0x000ff000) == 0x000ff000) return("NOTSET"); if ((drive_pci & 0x00012000) == 0x00012000) return((slow_cable) ? "UDMA 2" : "UDMA 4"); if ((drive_pci & 0x00024000) == 0x00024000) return((slow_cable) ? "UDMA 1" : "UDMA 3"); if ((drive_pci & 0x00036000) == 0x00036000) return("UDMA 0"); return(pdc202xx_dma_verbose(drive_pci));}/* A Register */#define SYNC_ERRDY_EN 0xC0#define SYNC_IN 0x80 /* control bit, different for master vs. slave drives */#define ERRDY_EN 0x40 /* control bit, different for master vs. slave drives */#define IORDY_EN 0x20 /* PIO: IOREADY */#define PREFETCH_EN 0x10 /* PIO: PREFETCH */#define PA3 0x08 /* PIO"A" timing */#define PA2 0x04 /* PIO"A" timing */#define PA1 0x02 /* PIO"A" timing */#define PA0 0x01 /* PIO"A" timing *//* B Register */#define MB2 0x80 /* DMA"B" timing */#define MB1 0x40 /* DMA"B" timing */#define MB0 0x20 /* DMA"B" timing */#define PB4 0x10 /* PIO_FORCE 1:0 */#define PB3 0x08 /* PIO"B" timing */ /* PIO flow Control mode */#define PB2 0x04 /* PIO"B" timing */ /* PIO 4 */#define PB1 0x02 /* PIO"B" timing */ /* PIO 3 half */#define PB0 0x01 /* PIO"B" timing */ /* PIO 3 other half *//* C Register */#define IORDYp_NO_SPEED 0x4F#define SPEED_DIS 0x0F#define DMARQp 0x80#define IORDYp 0x40#define DMAR_EN 0x20#define DMAW_EN 0x10#define MC3 0x08 /* DMA"C" timing */#define MC2 0x04 /* DMA"C" timing */#define MC1 0x02 /* DMA"C" timing */#define MC0 0x01 /* DMA"C" timing */#define DISPLAY_PDC202XX_TIMINGSstatic void init_setup_pdc202ata4(struct pci_dev *dev, ide_pci_device_t *d);static void init_setup_pdc20265(struct pci_dev *, ide_pci_device_t *);static void init_setup_pdc202xx(struct pci_dev *, ide_pci_device_t *);static unsigned int init_chipset_pdc202xx(struct pci_dev *, const char *);static void init_hwif_pdc202xx(ide_hwif_t *);static void init_dma_pdc202xx(ide_hwif_t *, unsigned long);static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { { /* 0 */ .name = "PDC20246", .init_setup = init_setup_pdc202ata4, .init_chipset = init_chipset_pdc202xx, .init_hwif = init_hwif_pdc202xx, .init_dma = init_dma_pdc202xx, .channels = 2, .autodma = AUTODMA,#ifndef CONFIG_PDC202XX_FORCE .enablebits = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},#endif .bootable = OFF_BOARD, .extra = 16, },{ /* 1 */ .name = "PDC20262", .init_setup = init_setup_pdc202ata4, .init_chipset = init_chipset_pdc202xx, .init_hwif = init_hwif_pdc202xx, .init_dma = init_dma_pdc202xx, .channels = 2, .autodma = AUTODMA,#ifndef CONFIG_PDC202XX_FORCE .enablebits = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},#endif .bootable = OFF_BOARD, .extra = 48, .flags = IDEPCI_FLAG_FORCE_PDC, },{ /* 2 */ .name = "PDC20263", .init_setup = init_setup_pdc202ata4, .init_chipset = init_chipset_pdc202xx, .init_hwif = init_hwif_pdc202xx, .init_dma = init_dma_pdc202xx, .channels = 2, .autodma = AUTODMA,#ifndef CONFIG_PDC202XX_FORCE .enablebits = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},#endif .bootable = OFF_BOARD, .extra = 48, },{ /* 3 */ .name = "PDC20265", .init_setup = init_setup_pdc20265, .init_chipset = init_chipset_pdc202xx, .init_hwif = init_hwif_pdc202xx, .init_dma = init_dma_pdc202xx, .channels = 2, .autodma = AUTODMA,#ifndef CONFIG_PDC202XX_FORCE .enablebits = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},#endif .bootable = OFF_BOARD, .extra = 48, .flags = IDEPCI_FLAG_FORCE_PDC, },{ /* 4 */ .name = "PDC20267", .init_setup = init_setup_pdc202xx, .init_chipset = init_chipset_pdc202xx, .init_hwif = init_hwif_pdc202xx, .init_dma = init_dma_pdc202xx, .channels = 2, .autodma = AUTODMA,#ifndef CONFIG_PDC202XX_FORCE .enablebits = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},#endif .bootable = OFF_BOARD, .extra = 48, }};#endif /* PDC202XX_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?