[Intel-gfx] [PATCH 09/12] intel: Provide IS_GENX() macros taking a drm_intel_device as argument

Ian Romanick idr at freedesktop.org
Thu Mar 5 10:41:19 PST 2015


On 03/05/2015 08:20 AM, Damien Lespiau wrote:
> Time to switch over all the IS_GENX() macros to the new device object.
> Nothing more than a mechanical search & replace here.

Hmm... why not just do the comparisons directly?  The macros seem
superfluous.

> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
> ---
>  intel/intel_bufmgr_gem.c  |   7 +-
>  intel/intel_chipset.h     | 158 ----------------------------------------------
>  intel/intel_decode.c      |  41 ++++++------
>  intel/intel_device_priv.h |   8 +++
>  4 files changed, 31 insertions(+), 183 deletions(-)
> 
> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
> index 58543a2..011fa5b 100644
> --- a/intel/intel_bufmgr_gem.c
> +++ b/intel/intel_bufmgr_gem.c
> @@ -3451,8 +3451,7 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size)
>  	bufmgr_gem->pci_device = drm_intel_device_get_devid(bufmgr_gem->dev);
>  	bufmgr_gem->gen = bufmgr_gem->dev->gen;
>  
> -	if (IS_GEN3(bufmgr_gem->pci_device) &&
> -	    bufmgr_gem->gtt_size > 256*1024*1024) {
> +	if (IS_GEN3(bufmgr_gem->dev) && bufmgr_gem->gtt_size > 256*1024*1024) {
>  		/* The unmappable part of gtt on gen 3 (i.e. above 256MB) can't
>  		 * be used for tiled blits. To simplify the accounting, just
>  		 * substract the unmappable part (fixed to 256MB on all known
> @@ -3494,8 +3493,8 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size)
>  		/* Kernel does not supports HAS_LLC query, fallback to GPU
>  		 * generation detection and assume that we have LLC on GEN6/7
>  		 */
> -		bufmgr_gem->has_llc = IS_GEN6(bufmgr_gem->pci_device) ||
> -				      IS_GEN7(bufmgr_gem->pci_device);
> +		bufmgr_gem->has_llc = IS_GEN6(bufmgr_gem->dev) ||
> +				      IS_GEN7(bufmgr_gem->dev);
>  	} else
>  		bufmgr_gem->has_llc = *gp.value;
>  
> diff --git a/intel/intel_chipset.h b/intel/intel_chipset.h
> index 241d700..134c877 100644
> --- a/intel/intel_chipset.h
> +++ b/intel/intel_chipset.h
> @@ -181,162 +181,4 @@
>  #define PCI_CHIP_SKYLAKE_SRV_GT1	0x190A
>  #define PCI_CHIP_SKYLAKE_WKS_GT2 	0x191D
>  
> -#define IS_ILD(devid)		((devid) == PCI_CHIP_ILD_G)
> -#define IS_ILM(devid)		((devid) == PCI_CHIP_ILM_G)
> -
> -#define IS_915(devid)		((devid) == PCI_CHIP_I915_G || \
> -				 (devid) == PCI_CHIP_E7221_G || \
> -				 (devid) == PCI_CHIP_I915_GM)
> -
> -#define IS_945GM(devid)		((devid) == PCI_CHIP_I945_GM || \
> -				 (devid) == PCI_CHIP_I945_GME)
> -
> -#define IS_945(devid)		((devid) == PCI_CHIP_I945_G || \
> -				 (devid) == PCI_CHIP_I945_GM || \
> -				 (devid) == PCI_CHIP_I945_GME || \
> -				 IS_G33(devid))
> -
> -#define IS_G33(devid)		((devid) == PCI_CHIP_G33_G || \
> -				 (devid) == PCI_CHIP_Q33_G || \
> -				 (devid) == PCI_CHIP_Q35_G || IS_IGD(devid))
> -
> -#define IS_GEN2(devid)		((devid) == PCI_CHIP_I830_M || \
> -				 (devid) == PCI_CHIP_845_G || \
> -				 (devid) == PCI_CHIP_I855_GM || \
> -				 (devid) == PCI_CHIP_I865_G)
> -
> -#define IS_GEN3(devid)		(IS_945(devid) || IS_915(devid))
> -
> -#define IS_GEN5(devid)		(IS_ILD(devid) || IS_ILM(devid))
> -
> -#define IS_GEN6(devid)		((devid) == PCI_CHIP_SANDYBRIDGE_GT1 || \
> -				 (devid) == PCI_CHIP_SANDYBRIDGE_GT2 || \
> -				 (devid) == PCI_CHIP_SANDYBRIDGE_GT2_PLUS || \
> -				 (devid) == PCI_CHIP_SANDYBRIDGE_M_GT1 || \
> -				 (devid) == PCI_CHIP_SANDYBRIDGE_M_GT2 || \
> -				 (devid) == PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS || \
> -				 (devid) == PCI_CHIP_SANDYBRIDGE_S)
> -
> -#define IS_GEN7(devid)		(IS_IVYBRIDGE(devid) || \
> -				 IS_HASWELL(devid) || \
> -				 IS_VALLEYVIEW(devid))
> -
> -#define IS_IVYBRIDGE(devid)	((devid) == PCI_CHIP_IVYBRIDGE_GT1 || \
> -				 (devid) == PCI_CHIP_IVYBRIDGE_GT2 || \
> -				 (devid) == PCI_CHIP_IVYBRIDGE_M_GT1 || \
> -				 (devid) == PCI_CHIP_IVYBRIDGE_M_GT2 || \
> -				 (devid) == PCI_CHIP_IVYBRIDGE_S || \
> -				 (devid) == PCI_CHIP_IVYBRIDGE_S_GT2)
> -
> -#define IS_VALLEYVIEW(devid)	((devid) == PCI_CHIP_VALLEYVIEW_PO || \
> -				 (devid) == PCI_CHIP_VALLEYVIEW_1 || \
> -				 (devid) == PCI_CHIP_VALLEYVIEW_2 || \
> -				 (devid) == PCI_CHIP_VALLEYVIEW_3)
> -
> -#define IS_HSW_GT1(devid)	((devid) == PCI_CHIP_HASWELL_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_M_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_S_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_B_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_E_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_M_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_S_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_B_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_E_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_M_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_S_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_B_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_E_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_M_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_S_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_B_GT1 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_E_GT1)
> -#define IS_HSW_GT2(devid)	((devid) == PCI_CHIP_HASWELL_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_M_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_S_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_B_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_E_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_M_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_S_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_B_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_E_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_M_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_S_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_B_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_E_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_M_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_S_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_B_GT2 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_E_GT2)
> -#define IS_HSW_GT3(devid)	((devid) == PCI_CHIP_HASWELL_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_M_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_S_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_B_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_E_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_M_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_S_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_B_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_SDV_E_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_M_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_S_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_B_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_ULT_E_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_M_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_S_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_B_GT3 || \
> -				 (devid) == PCI_CHIP_HASWELL_CRW_E_GT3)
> -
> -#define IS_HASWELL(devid)	(IS_HSW_GT1(devid) || \
> -				 IS_HSW_GT2(devid) || \
> -				 IS_HSW_GT3(devid))
> -
> -#define IS_BROADWELL(devid)     (((devid & 0xff00) != 0x1600) ? 0 : \
> -				(((devid & 0x00f0) >> 4) > 3) ? 0 : \
> -				((devid & 0x000f) == BDW_SPARE) ? 1 : \
> -				((devid & 0x000f) == BDW_ULT) ? 1 : \
> -				((devid & 0x000f) == BDW_IRIS) ? 1 : \
> -				((devid & 0x000f) == BDW_SERVER) ? 1 : \
> -				((devid & 0x000f) == BDW_WORKSTATION) ? 1 : \
> -				((devid & 0x000f) == BDW_ULX) ? 1 : 0)
> -
> -#define IS_CHERRYVIEW(devid)	((devid) == PCI_CHIP_CHERRYVIEW_0 || \
> -				 (devid) == PCI_CHIP_CHERRYVIEW_1 || \
> -				 (devid) == PCI_CHIP_CHERRYVIEW_2 || \
> -				 (devid) == PCI_CHIP_CHERRYVIEW_3)
> -
> -#define IS_GEN8(devid)		(IS_BROADWELL(devid) || \
> -				 IS_CHERRYVIEW(devid))
> -
> -#define IS_SKL_GT1(devid)	((devid) == PCI_CHIP_SKYLAKE_ULT_GT1	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_ULX_GT1	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_DT_GT1	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_HALO_GT1	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_SRV_GT1)
> -
> -#define IS_SKL_GT2(devid)	((devid) == PCI_CHIP_SKYLAKE_ULT_GT2	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_ULT_GT2F	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_ULX_GT2	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_DT_GT2	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_HALO_GT2	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_SRV_GT2	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_WKS_GT2)
> -
> -#define IS_SKL_GT3(devid)	((devid) == PCI_CHIP_SKYLAKE_ULT_GT3	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_HALO_GT3	|| \
> -				 (devid) == PCI_CHIP_SKYLAKE_SRV_GT3)
> -
> -#define IS_SKYLAKE(devid)	(IS_SKL_GT1(devid) || \
> -				 IS_SKL_GT2(devid) || \
> -				 IS_SKL_GT3(devid))
> -
> -#define IS_GEN9(devid)		IS_SKYLAKE(devid)
> -
>  #endif /* _INTEL_CHIPSET_H */
> diff --git a/intel/intel_decode.c b/intel/intel_decode.c
> index 2fd2cc5..abe689c 100644
> --- a/intel/intel_decode.c
> +++ b/intel/intel_decode.c
> @@ -35,7 +35,7 @@
>  
>  #include "libdrm.h"
>  #include "xf86drm.h"
> -#include "intel_device.h"
> +#include "intel_device_priv.h"
>  #include "intel_chipset.h"
>  #include "intel_bufmgr.h"
>  
> @@ -1277,7 +1277,7 @@ decode_3d_1d(struct drm_intel_decode *ctx)
>  	const char *format, *zformat, *type;
>  	uint32_t opcode;
>  	uint32_t *data = ctx->data;
> -	uint32_t devid = ctx->devid;
> +	struct drm_intel_device *dev = ctx->dev;
>  
>  	struct {
>  		uint32_t opcode;
> @@ -1353,7 +1353,7 @@ decode_3d_1d(struct drm_intel_decode *ctx)
>  		for (word = 0; word <= 8; word++) {
>  			if (data[0] & (1 << (4 + word))) {
>  				/* save vertex state for decode */
> -				if (!IS_GEN2(devid)) {
> +				if (!IS_GEN2(dev)) {
>  					int tex_num;
>  
>  					if (word == 2) {
> @@ -2029,7 +2029,7 @@ decode_3d_1d(struct drm_intel_decode *ctx)
>  		}
>  		return len;
>  	case 0x01:
> -		if (IS_GEN2(devid))
> +		if (IS_GEN2(dev))
>  			break;
>  		instr_out(ctx, 0, "3DSTATE_SAMPLER_STATE\n");
>  		instr_out(ctx, 1, "mask\n");
> @@ -2254,7 +2254,7 @@ decode_3d_1d(struct drm_intel_decode *ctx)
>  
>  	for (idx = 0; idx < ARRAY_SIZE(opcodes_3d_1d); idx++) {
>  		opcode_3d_1d = &opcodes_3d_1d[idx];
> -		if (opcode_3d_1d->i830_only && !IS_GEN2(devid))
> +		if (opcode_3d_1d->i830_only && !IS_GEN2(dev))
>  			continue;
>  
>  		if (((data[0] & 0x00ff0000) >> 16) == opcode_3d_1d->opcode) {
> @@ -3144,7 +3144,7 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  	unsigned int i, j, sba_len;
>  	const char *desc1 = NULL;
>  	uint32_t *data = ctx->data;
> -	uint32_t devid = ctx->devid;
> +	struct drm_intel_device *dev = ctx->dev;
>  
>  	struct {
>  		uint32_t opcode;
> @@ -3297,9 +3297,9 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  		instr_out(ctx, 0, "STATE_BASE_ADDRESS\n");
>  		i++;
>  
> -		if (IS_GEN6(devid) || IS_GEN7(devid))
> +		if (IS_GEN6(dev) || IS_GEN7(dev))
>  			sba_len = 10;
> -		else if (IS_GEN5(devid))
> +		else if (IS_GEN5(dev))
>  			sba_len = 8;
>  		else
>  			sba_len = 6;
> @@ -3308,17 +3308,17 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  
>  		state_base_out(ctx, i++, "general");
>  		state_base_out(ctx, i++, "surface");
> -		if (IS_GEN6(devid) || IS_GEN7(devid))
> +		if (IS_GEN6(dev) || IS_GEN7(dev))
>  			state_base_out(ctx, i++, "dynamic");
>  		state_base_out(ctx, i++, "indirect");
> -		if (IS_GEN5(devid) || IS_GEN6(devid) || IS_GEN7(devid))
> +		if (IS_GEN5(dev) || IS_GEN6(dev) || IS_GEN7(dev))
>  			state_base_out(ctx, i++, "instruction");
>  
>  		state_max_out(ctx, i++, "general");
> -		if (IS_GEN6(devid) || IS_GEN7(devid))
> +		if (IS_GEN6(dev) || IS_GEN7(dev))
>  			state_max_out(ctx, i++, "dynamic");
>  		state_max_out(ctx, i++, "indirect");
> -		if (IS_GEN5(devid) || IS_GEN6(devid) || IS_GEN7(devid))
> +		if (IS_GEN5(dev) || IS_GEN6(dev) || IS_GEN7(dev))
>  			state_max_out(ctx, i++, "instruction");
>  
>  		return len;
> @@ -3387,7 +3387,7 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  
>  		for (i = 1; i < len;) {
>  			int idx, access;
> -			if (IS_GEN6(devid)) {
> +			if (IS_GEN6(dev)) {
>  				idx = 26;
>  				access = 20;
>  			} else {
> @@ -3414,8 +3414,8 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  			instr_out(ctx, i,
>  				  "buffer %d: %svalid, type 0x%04x, "
>  				  "src offset 0x%04x bytes\n",
> -				  data[i] >> ((IS_GEN6(devid) || IS_GEN7(devid)) ? 26 : 27),
> -				  data[i] & (1 << ((IS_GEN6(devid) || IS_GEN7(devid)) ? 25 : 26)) ?
> +				  data[i] >> ((IS_GEN6(dev) || IS_GEN7(dev)) ? 26 : 27),
> +				  data[i] & (1 << ((IS_GEN6(dev) || IS_GEN7(dev)) ? 25 : 26)) ?
>  				  "" : "in", (data[i] >> 16) & 0x1ff,
>  				  data[i] & 0x07ff);
>  			i++;
> @@ -3599,7 +3599,7 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  
>  	case 0x7905:
>  		instr_out(ctx, 0, "3DSTATE_DEPTH_BUFFER\n");
> -		if (IS_GEN5(devid) || IS_GEN6(devid))
> +		if (IS_GEN5(dev) || IS_GEN6(dev))
>  			instr_out(ctx, 1,
>  				  "%s, %s, pitch = %d bytes, %stiled, HiZ %d, Seperate Stencil %d\n",
>  				  get_965_surfacetype(data[1] >> 29),
> @@ -3623,7 +3623,7 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  		if (len >= 6)
>  			instr_out(ctx, 5, "\n");
>  		if (len >= 7) {
> -			if (IS_GEN6(devid))
> +			if (IS_GEN6(dev))
>  				instr_out(ctx, 6, "\n");
>  			else
>  				instr_out(ctx, 6,
> @@ -3633,7 +3633,7 @@ decode_3d_965(struct drm_intel_decode *ctx)
>  		return len;
>  
>  	case 0x7a00:
> -		if (IS_GEN6(devid) || IS_GEN7(devid)) {
> +		if (IS_GEN6(dev) || IS_GEN7(dev)) {
>  			unsigned int i;
>  			if (len != 4 && len != 5)
>  				fprintf(out, "Bad count in PIPE_CONTROL\n");
> @@ -3893,9 +3893,9 @@ drm_intel_decode(struct drm_intel_decode *ctx)
>  {
>  	int ret;
>  	unsigned int index = 0;
> -	uint32_t devid;
>  	int size = ctx->base_count * 4;
>  	void *temp;
> +	struct drm_intel_device *dev = ctx->dev;
>  
>  	if (!ctx)
>  		return;
> @@ -3912,7 +3912,6 @@ drm_intel_decode(struct drm_intel_decode *ctx)
>  	ctx->hw_offset = ctx->base_hw_offset;
>  	ctx->count = ctx->base_count;
>  
> -	devid = ctx->devid;
>  	head_offset = ctx->head;
>  	tail_offset = ctx->tail;
>  	out = ctx->out;
> @@ -3951,7 +3950,7 @@ drm_intel_decode(struct drm_intel_decode *ctx)
>  		case 0x3:
>  			if (ctx->dev->gen >= 4)
>  				index += decode_3d_965(ctx);
> -			else if (IS_GEN3(devid))
> +			else if (IS_GEN3(dev))
>  				index += decode_3d(ctx);
>  			else
>  				index += decode_3d_i830(ctx);
> diff --git a/intel/intel_device_priv.h b/intel/intel_device_priv.h
> index 87dc1dc..d1bc523 100644
> --- a/intel/intel_device_priv.h
> +++ b/intel/intel_device_priv.h
> @@ -31,5 +31,13 @@
>   * header, hence a _priv.h one for internal use.
>   */
>  #define IS_CHIP(dev, id)	((dev)->chip == DRM_INTEL_CHIP_ ## id)
> +#define IS_GEN2(dev)		((dev)->gen == 2)
> +#define IS_GEN3(dev)		((dev)->gen == 3)
> +#define IS_GEN4(dev)		((dev)->gen == 4)
> +#define IS_GEN5(dev)		((dev)->gen == 5)
> +#define IS_GEN6(dev)		((dev)->gen == 6)
> +#define IS_GEN7(dev)		((dev)->gen == 7)
> +#define IS_GEN8(dev)		((dev)->gen == 8)
> +#define IS_GEN9(dev)		((dev)->gen == 9)
>  
>  #endif /* __INTEL_DEVICE_PRIV_H__ */
> 



More information about the Intel-gfx mailing list