intel: Make intel_chipset handle devid directly.

This will make these macros reusable from intel_decode.c, which
doesn't have a bufmgr_gem context, without faking the struct.  We
should generally only be using these macros from bufmgr_gem context
setup anyway.

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Eugeni Dodonov <eugeni@dodonov.net>
main
Eric Anholt 2011-12-20 13:10:36 -08:00
parent 8c4a2c8848
commit 078bc5b6ee
2 changed files with 46 additions and 43 deletions

View File

@ -284,7 +284,8 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
return ALIGN(pitch, 64); return ALIGN(pitch, 64);
if (*tiling_mode == I915_TILING_X if (*tiling_mode == I915_TILING_X
|| (IS_915(bufmgr_gem) && *tiling_mode == I915_TILING_Y)) || (IS_915(bufmgr_gem->pci_device)
&& *tiling_mode == I915_TILING_Y))
tile_width = 512; tile_width = 512;
else else
tile_width = 128; tile_width = 128;
@ -772,10 +773,11 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
aligned_y = y; aligned_y = y;
height_alignment = 2; height_alignment = 2;
if (IS_GEN2(bufmgr_gem) && tiling != I915_TILING_NONE) if ((bufmgr_gem->gen == 2) && tiling != I915_TILING_NONE)
height_alignment = 16; height_alignment = 16;
else if (tiling == I915_TILING_X else if (tiling == I915_TILING_X
|| (IS_915(bufmgr_gem) && tiling == I915_TILING_Y)) || (IS_915(bufmgr_gem->pci_device)
&& tiling == I915_TILING_Y))
height_alignment = 8; height_alignment = 8;
else if (tiling == I915_TILING_Y) else if (tiling == I915_TILING_Y)
height_alignment = 32; height_alignment = 32;
@ -2313,16 +2315,17 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size)
fprintf(stderr, "param: %d, val: %d\n", gp.param, *gp.value); fprintf(stderr, "param: %d, val: %d\n", gp.param, *gp.value);
} }
if (IS_GEN2(bufmgr_gem)) if (IS_GEN2(bufmgr_gem->pci_device))
bufmgr_gem->gen = 2; bufmgr_gem->gen = 2;
else if (IS_GEN3(bufmgr_gem)) else if (IS_GEN3(bufmgr_gem->pci_device))
bufmgr_gem->gen = 3; bufmgr_gem->gen = 3;
else if (IS_GEN4(bufmgr_gem)) else if (IS_GEN4(bufmgr_gem->pci_device))
bufmgr_gem->gen = 4; bufmgr_gem->gen = 4;
else else
bufmgr_gem->gen = 6; bufmgr_gem->gen = 6;
if (IS_GEN3(bufmgr_gem) && bufmgr_gem->gtt_size > 256*1024*1024) { if (IS_GEN3(bufmgr_gem->pci_device) &&
bufmgr_gem->gtt_size > 256*1024*1024) {
/* The unmappable part of gtt on gen 3 (i.e. above 256MB) can't /* The unmappable part of gtt on gen 3 (i.e. above 256MB) can't
* be used for tiled blits. To simplify the accounting, just * be used for tiled blits. To simplify the accounting, just
* substract the unmappable part (fixed to 256MB on all known * substract the unmappable part (fixed to 256MB on all known

View File

@ -28,22 +28,22 @@
#ifndef _INTEL_CHIPSET_H #ifndef _INTEL_CHIPSET_H
#define _INTEL_CHIPSET_H #define _INTEL_CHIPSET_H
#define IS_830(dev) ((dev)->pci_device == 0x3577) #define IS_830(dev) (dev == 0x3577)
#define IS_845(dev) ((dev)->pci_device == 0x2562) #define IS_845(dev) (dev == 0x2562)
#define IS_85X(dev) ((dev)->pci_device == 0x3582) #define IS_85X(dev) (dev == 0x3582)
#define IS_865(dev) ((dev)->pci_device == 0x2572) #define IS_865(dev) (dev == 0x2572)
#define IS_GEN2(dev) (IS_830(dev) || \ #define IS_GEN2(dev) (IS_830(dev) || \
IS_845(dev) || \ IS_845(dev) || \
IS_85X(dev) || \ IS_85X(dev) || \
IS_865(dev)) IS_865(dev))
#define IS_915G(dev) ((dev)->pci_device == 0x2582 || \ #define IS_915G(dev) (dev == 0x2582 || \
(dev)->pci_device == 0x258a) dev == 0x258a)
#define IS_915GM(dev) ((dev)->pci_device == 0x2592) #define IS_915GM(dev) (dev == 0x2592)
#define IS_945G(dev) ((dev)->pci_device == 0x2772) #define IS_945G(dev) (dev == 0x2772)
#define IS_945GM(dev) ((dev)->pci_device == 0x27A2 || \ #define IS_945GM(dev) (dev == 0x27A2 || \
(dev)->pci_device == 0x27AE) dev == 0x27AE)
#define IS_915(dev) (IS_915G(dev) || \ #define IS_915(dev) (IS_915G(dev) || \
IS_915GM(dev)) IS_915GM(dev))
@ -53,44 +53,44 @@
IS_G33(dev) || \ IS_G33(dev) || \
IS_PINEVIEW(dev)) IS_PINEVIEW(dev))
#define IS_G33(dev) ((dev)->pci_device == 0x29C2 || \ #define IS_G33(dev) (dev == 0x29C2 || \
(dev)->pci_device == 0x29B2 || \ dev == 0x29B2 || \
(dev)->pci_device == 0x29D2) dev == 0x29D2)
#define IS_PINEVIEW(dev) ((dev)->pci_device == 0xa001 || \ #define IS_PINEVIEW(dev) (dev == 0xa001 || \
(dev)->pci_device == 0xa011) dev == 0xa011)
#define IS_GEN3(dev) (IS_915(dev) || \ #define IS_GEN3(dev) (IS_915(dev) || \
IS_945(dev) || \ IS_945(dev) || \
IS_G33(dev) || \ IS_G33(dev) || \
IS_PINEVIEW(dev)) IS_PINEVIEW(dev))
#define IS_I965GM(dev) ((dev)->pci_device == 0x2A02) #define IS_I965GM(dev) (dev == 0x2A02)
#define IS_GEN4(dev) ((dev)->pci_device == 0x2972 || \ #define IS_GEN4(dev) (dev == 0x2972 || \
(dev)->pci_device == 0x2982 || \ dev == 0x2982 || \
(dev)->pci_device == 0x2992 || \ dev == 0x2992 || \
(dev)->pci_device == 0x29A2 || \ dev == 0x29A2 || \
(dev)->pci_device == 0x2A02 || \ dev == 0x2A02 || \
(dev)->pci_device == 0x2A12 || \ dev == 0x2A12 || \
(dev)->pci_device == 0x2A42 || \ dev == 0x2A42 || \
(dev)->pci_device == 0x2E02 || \ dev == 0x2E02 || \
(dev)->pci_device == 0x2E12 || \ dev == 0x2E12 || \
(dev)->pci_device == 0x2E22 || \ dev == 0x2E22 || \
(dev)->pci_device == 0x2E32 || \ dev == 0x2E32 || \
(dev)->pci_device == 0x2E42 || \ dev == 0x2E42 || \
(dev)->pci_device == 0x0042 || \ dev == 0x0042 || \
(dev)->pci_device == 0x0046 || \ dev == 0x0046 || \
IS_I965GM(dev) || \ IS_I965GM(dev) || \
IS_G4X(dev)) IS_G4X(dev))
#define IS_GM45(dev) ((dev)->pci_device == 0x2A42) #define IS_GM45(dev) (dev == 0x2A42)
#define IS_G4X(dev) ((dev)->pci_device == 0x2E02 || \ #define IS_G4X(dev) (dev == 0x2E02 || \
(dev)->pci_device == 0x2E12 || \ dev == 0x2E12 || \
(dev)->pci_device == 0x2E22 || \ dev == 0x2E22 || \
(dev)->pci_device == 0x2E32 || \ dev == 0x2E32 || \
(dev)->pci_device == 0x2E42 || \ dev == 0x2E42 || \
IS_GM45(dev)) IS_GM45(dev))
#define IS_9XX(dev) (IS_GEN3(dev) || \ #define IS_9XX(dev) (IS_GEN3(dev) || \