From patchwork Thu Mar 5 16:20:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lespiau, Damien" X-Patchwork-Id: 5947551 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 07B2BBF440 for ; Thu, 5 Mar 2015 16:20:43 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 215BF20381 for ; Thu, 5 Mar 2015 16:20:40 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id B30D520390 for ; Thu, 5 Mar 2015 16:20:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E99C96E80C; Thu, 5 Mar 2015 08:20:33 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id E6C666E800; Thu, 5 Mar 2015 08:20:31 -0800 (PST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 05 Mar 2015 08:20:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,347,1422950400"; d="scan'208";a="462980856" Received: from rmoore5-mobl1.amr.corp.intel.com (HELO strange.ger.corp.intel.com) ([10.252.11.84]) by FMSMGA003.fm.intel.com with ESMTP; 05 Mar 2015 08:14:10 -0800 From: Damien Lespiau To: intel-gfx@lists.freedesktop.org Subject: [PATCH 09/12] intel: Provide IS_GENX() macros taking a drm_intel_device as argument Date: Thu, 5 Mar 2015 16:20:17 +0000 Message-Id: <1425572420-10067-10-git-send-email-damien.lespiau@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1425572420-10067-1-git-send-email-damien.lespiau@intel.com> References: <1425572420-10067-1-git-send-email-damien.lespiau@intel.com> Cc: dri-devel@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Time to switch over all the IS_GENX() macros to the new device object. Nothing more than a mechanical search & replace here. Signed-off-by: Damien Lespiau --- 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__ */