diff options
author | Dave Airlie <airlied@starflyer.(none)> | 2005-09-11 06:28:11 -0400 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2005-09-11 06:28:11 -0400 |
commit | ea98a92ff18c03bf7f4d21536986cbbcb4c10cd9 (patch) | |
tree | fbff15aaacf19824083c9edb8d37548031636580 /drivers/char/drm/drmP.h | |
parent | 9d17601c4e132eee9fe450191f6866fb9fb5a762 (diff) |
drm: add radeon PCI express support
Add support for Radeon PCI Express cards (needs a new X.org DDX)
Also allows PCI GART table to be stored in VRAM for non PCIE cards
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/drmP.h')
-rw-r--r-- | drivers/char/drm/drmP.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h index 6f98701dfe15..c164c76e33f3 100644 --- a/drivers/char/drm/drmP.h +++ b/drivers/char/drm/drmP.h | |||
@@ -532,6 +532,17 @@ typedef struct drm_vbl_sig { | |||
532 | } drm_vbl_sig_t; | 532 | } drm_vbl_sig_t; |
533 | 533 | ||
534 | 534 | ||
535 | /* location of GART table */ | ||
536 | #define DRM_ATI_GART_MAIN 1 | ||
537 | #define DRM_ATI_GART_FB 2 | ||
538 | |||
539 | typedef struct ati_pcigart_info { | ||
540 | int gart_table_location; | ||
541 | int is_pcie; | ||
542 | unsigned long addr; | ||
543 | dma_addr_t bus_addr; | ||
544 | } drm_ati_pcigart_info; | ||
545 | |||
535 | /** | 546 | /** |
536 | * DRM driver structure. This structure represent the common code for | 547 | * DRM driver structure. This structure represent the common code for |
537 | * a family of cards. There will one drm_device for each card present | 548 | * a family of cards. There will one drm_device for each card present |
@@ -975,12 +986,8 @@ extern int drm_sg_free(struct inode *inode, struct file *filp, | |||
975 | unsigned int cmd, unsigned long arg); | 986 | unsigned int cmd, unsigned long arg); |
976 | 987 | ||
977 | /* ATI PCIGART support (ati_pcigart.h) */ | 988 | /* ATI PCIGART support (ati_pcigart.h) */ |
978 | extern int drm_ati_pcigart_init(drm_device_t *dev, | 989 | extern int drm_ati_pcigart_init(drm_device_t * dev, drm_ati_pcigart_info *gart_info); |
979 | unsigned long *addr, | 990 | extern int drm_ati_pcigart_cleanup(drm_device_t * dev, drm_ati_pcigart_info *gart_info); |
980 | dma_addr_t *bus_addr); | ||
981 | extern int drm_ati_pcigart_cleanup(drm_device_t *dev, | ||
982 | unsigned long addr, | ||
983 | dma_addr_t bus_addr); | ||
984 | 991 | ||
985 | extern drm_dma_handle_t *drm_pci_alloc(drm_device_t *dev, size_t size, | 992 | extern drm_dma_handle_t *drm_pci_alloc(drm_device_t *dev, size_t size, |
986 | size_t align, dma_addr_t maxaddr); | 993 | size_t align, dma_addr_t maxaddr); |
@@ -1038,6 +1045,11 @@ static __inline__ int drm_device_is_agp(drm_device_t *dev) | |||
1038 | return pci_find_capability(dev->pdev, PCI_CAP_ID_AGP); | 1045 | return pci_find_capability(dev->pdev, PCI_CAP_ID_AGP); |
1039 | } | 1046 | } |
1040 | 1047 | ||
1048 | static __inline__ int drm_device_is_pcie(drm_device_t *dev) | ||
1049 | { | ||
1050 | return pci_find_capability(dev->pdev, PCI_CAP_ID_EXP); | ||
1051 | } | ||
1052 | |||
1041 | static __inline__ void drm_core_dropmap(struct drm_map *map) | 1053 | static __inline__ void drm_core_dropmap(struct drm_map *map) |
1042 | { | 1054 | { |
1043 | } | 1055 | } |