Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3180738pxk; Mon, 28 Sep 2020 10:15:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyzlcj1ef2TwsdbbqmoKBYQUXr3GBPDA1P0ld4PAJpPDtjPRh6HRoN6Wjwczogn+OrReokR X-Received: by 2002:aa7:dd11:: with SMTP id i17mr2862594edv.170.1601313321810; Mon, 28 Sep 2020 10:15:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601313321; cv=none; d=google.com; s=arc-20160816; b=TP1TyHph3mRR2b1HWz+ylt/wQAufevuOLuOUsQY8+wnsrbLrLb7akXhCXA4x01ONiQ SNLLJ0fSgKfQuGDhaIZ/mosijWKSItaqaDiMEALj3T7yYa52vI8lfnyK1GLgocaebtGY Ubur+1UMxScvj98sS6m5/oZ+UZ1wh6ZMoHCI22HCVSl+RXC8BNzCZtmo5a2MN+BTzxR2 Ha70jnNJcDm67R2kiBQ/Sv5Sgw0l59QBeahTZSjf2szYdOrApBGIn5Lt/+4U3X5/YHcN 0Yg6JQMURijnTHkCKlEtr1YAql7ZztNA+APXsFtZawkD/0Ngexo5WX8XBwZbZbUNoAXC w+Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :organization:in-reply-to:subject:to:from:ironport-sdr:ironport-sdr; bh=N/iemN8GtbHwUO43ku1iISuw8/+pAIP4uvwuEr/sfnM=; b=QfmRCG+yx50yEtpVYLz/Vczlkc4LjZ/j59AmagVKKbCPDm3hSfnk7Bge407bCSaZ1I Wz4H/eGQgtYPu/6LIe/nXtfoynfnAr4fMODeRLzxh4w4xjzVUdtsYxz3krmOe/6NT9U+ M41OVDAijTEhMrLTUTcryph+VYxVXjwLJjy/GYvxF0M0EVGkfUjDHJJpSfkVY3ve14Yo 7lSiERbIqoldCCGWDoqbAplOzitkkwMNkOyiytKkuCvXI5aKjrLloOP6N1xqaUMEgEKQ 8n9Hr6Hm+xpiDkK9MJaLcHQ/c8h/6iWflyw8iSkS6RPK0UOlob/u5SyUYbhfg9XdOi4S vJAw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g19si984436eds.240.2020.09.28.10.14.58; Mon, 28 Sep 2020 10:15:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726578AbgI1RNw (ORCPT + 99 others); Mon, 28 Sep 2020 13:13:52 -0400 Received: from mga06.intel.com ([134.134.136.31]:43706 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726504AbgI1RNw (ORCPT ); Mon, 28 Sep 2020 13:13:52 -0400 IronPort-SDR: h+Q4pW67NS4GhUg+A/sn+bDgMtxKAbpmgMf2knu8cSJ46Kx5KPSe3JeccW5BGadQKxpaGMmzc2 +Fr+DG2kffDQ== X-IronPort-AV: E=McAfee;i="6000,8403,9758"; a="223624234" X-IronPort-AV: E=Sophos;i="5.77,313,1596524400"; d="scan'208";a="223624234" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2020 10:13:50 -0700 IronPort-SDR: RgT6PVG/mrKNG0UWJKclspgMmLQsBCPYUaHQW0Zl431vLcx2fkuRZxvDWsp+OSloIZ97vSklIN LlZrZzkwaxZA== X-IronPort-AV: E=Sophos;i="5.77,313,1596524400"; d="scan'208";a="456914961" Received: from lizwalsh-mobl3.ger.corp.intel.com (HELO localhost) ([10.251.86.12]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2020 10:13:45 -0700 From: Jani Nikula To: "Surendrakumar Upadhyay\, TejaskumarX" , "Vivi\, Rodrigo" , "airlied\@linux.ie" , "daniel\@ffwll.ch" , "intel-gfx\@lists.freedesktop.org" , "dri-devel\@lists.freedesktop.org" , "linux-kernel\@vger.kernel.org" , "Ausmus\, James" , "Roper\, Matthew D" , "Souza\, Jose" , "ville.syrjala\@linux.intel.com" , "De Marchi\, Lucas" , "Pandey\, Hariom" Subject: Re: [PATCH 1/2] drm/i915/jsl: Split EHL/JSL platform info and PCI ids In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20200928080931.246347-1-tejaskumarx.surendrakumar.upadhyay@intel.com> <20200928080931.246347-2-tejaskumarx.surendrakumar.upadhyay@intel.com> <87d026owdq.fsf@intel.com> Date: Mon, 28 Sep 2020 20:14:02 +0300 Message-ID: <874knhq0x1.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 28 Sep 2020, "Surendrakumar Upadhyay, TejaskumarX" wrote: > ________________________________ > From: Jani Nikula > Sent: Monday, September 28, 2020 7:07 PM > To: Surendrakumar Upadhyay, TejaskumarX ; Vivi, Rodrigo ; airlied@linux.ie ; daniel@ffwll.ch ; intel-gfx@lists.freedesktop.org ; dri-devel@lists.freedesktop.org ; linux-kernel@vger.kernel.org ; Ausmus, James ; Roper, Matthew D ; Souza, Jose ; ville.syrjala@linux.intel.com ; De Marchi, Lucas ; Pandey, Hariom > Subject: Re: [PATCH 1/2] drm/i915/jsl: Split EHL/JSL platform info and PCI ids Please fix your email quoting when interacting on the public lists. > > On Mon, 28 Sep 2020, Tejas Upadhyay wrote: >> Split the basic platform definition, macros, and PCI IDs to >> differentiate between EHL and JSL platforms. >> >> Signed-off-by: Tejas Upadhyay >> --- >> drivers/gpu/drm/i915/i915_drv.h | 4 +++- >> drivers/gpu/drm/i915/i915_pci.c | 9 +++++++++ >> drivers/gpu/drm/i915/intel_device_info.c | 1 + >> drivers/gpu/drm/i915/intel_device_info.h | 1 + >> include/drm/i915_pciids.h | 9 ++++++--- >> 5 files changed, 20 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h >> index 72a9449b674e..4f20acebb038 100644 >> --- a/drivers/gpu/drm/i915/i915_drv.h >> +++ b/drivers/gpu/drm/i915/i915_drv.h >> @@ -1417,7 +1417,9 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915, >> #define IS_COMETLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_COMETLAKE) >> #define IS_CANNONLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_CANNONLAKE) >> #define IS_ICELAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_ICELAKE) >> -#define IS_ELKHARTLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_ELKHARTLAKE) >> +#define IS_ELKHARTLAKE(dev_priv) (IS_PLATFORM(dev_priv, INTEL_ELKHARTLAKE) || \ >> + IS_PLATFORM(dev_priv, INTEL_JASPERLAKE)) >> +#define IS_JASPERLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_JASPERLAKE) > > I think we've learned from history that we want the platform checks to > be independent. I.e. if you need to split ELK and JSP, you need to make > IS_ELKHARTLAKE() match *only* ELK, and you need to replace every current > IS_ELKHARTLAKE() check with IS_ELKHARTLAKE() || IS_JASPERLAKE(). > > We've been here before, and we've thought before that we can get by with > the minimal change. It's just postponing the inevitable and generates > confusion. > > BR, > Jani. > > Tejas : Replacing IS_ELKHARTLAKE() || IS_JASPERLAKE() everywhere will > make lot of changes at each place. To avoid huge change and to > differentiate between platforms we have taken this way. Do you think > we still change it everywhere? Do you have example where it can harm > this change? If you need to differentiate between the two platforms, IS_ELKHARTLAKE() must mean only ELK and IS_JASPERLAKE() must mean only JSP. It's non-negotiable. We've made the mistake before, we're not doing it again. There are 32 references to IS_ELKHARTLAKE(). It's slightly painful, but the alternative is worse. BR, Jani. > >> #define IS_TIGERLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_TIGERLAKE) >> #define IS_ROCKETLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_ROCKETLAKE) >> #define IS_DG1(dev_priv) IS_PLATFORM(dev_priv, INTEL_DG1) >> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c >> index 366ddfc8df6b..8690b69fcf33 100644 >> --- a/drivers/gpu/drm/i915/i915_pci.c >> +++ b/drivers/gpu/drm/i915/i915_pci.c >> @@ -846,6 +846,14 @@ static const struct intel_device_info ehl_info = { >> .ppgtt_size = 36, >> }; >> >> +static const struct intel_device_info jsl_info = { >> + GEN11_FEATURES, >> + PLATFORM(INTEL_JASPERLAKE), >> + .require_force_probe = 1, >> + .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0), >> + .ppgtt_size = 36, >> +}; >> + >> #define GEN12_FEATURES \ >> GEN11_FEATURES, \ >> GEN(12), \ >> @@ -985,6 +993,7 @@ static const struct pci_device_id pciidlist[] = { >> INTEL_CNL_IDS(&cnl_info), >> INTEL_ICL_11_IDS(&icl_info), >> INTEL_EHL_IDS(&ehl_info), >> + INTEL_JSL_IDS(&jsl_info), >> INTEL_TGL_12_IDS(&tgl_info), >> INTEL_RKL_IDS(&rkl_info), >> {0, 0, 0} >> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c >> index adc836f15fde..e67cec8fa2aa 100644 >> --- a/drivers/gpu/drm/i915/intel_device_info.c >> +++ b/drivers/gpu/drm/i915/intel_device_info.c >> @@ -62,6 +62,7 @@ static const char * const platform_names[] = { >> PLATFORM_NAME(CANNONLAKE), >> PLATFORM_NAME(ICELAKE), >> PLATFORM_NAME(ELKHARTLAKE), >> + PLATFORM_NAME(JASPERLAKE), >> PLATFORM_NAME(TIGERLAKE), >> PLATFORM_NAME(ROCKETLAKE), >> PLATFORM_NAME(DG1), >> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h >> index 6a3d607218aa..d92fa041c700 100644 >> --- a/drivers/gpu/drm/i915/intel_device_info.h >> +++ b/drivers/gpu/drm/i915/intel_device_info.h >> @@ -79,6 +79,7 @@ enum intel_platform { >> /* gen11 */ >> INTEL_ICELAKE, >> INTEL_ELKHARTLAKE, >> + INTEL_JASPERLAKE, >> /* gen12 */ >> INTEL_TIGERLAKE, >> INTEL_ROCKETLAKE, >> diff --git a/include/drm/i915_pciids.h b/include/drm/i915_pciids.h >> index 7eeecb07c9a1..1b5e09cfa11e 100644 >> --- a/include/drm/i915_pciids.h >> +++ b/include/drm/i915_pciids.h >> @@ -579,15 +579,18 @@ >> INTEL_VGA_DEVICE(0x8A51, info), \ >> INTEL_VGA_DEVICE(0x8A5D, info) >> >> -/* EHL/JSL */ >> +/* EHL */ >> #define INTEL_EHL_IDS(info) \ >> INTEL_VGA_DEVICE(0x4500, info), \ >> INTEL_VGA_DEVICE(0x4571, info), \ >> INTEL_VGA_DEVICE(0x4551, info), \ >> INTEL_VGA_DEVICE(0x4541, info), \ >> - INTEL_VGA_DEVICE(0x4E71, info), \ >> INTEL_VGA_DEVICE(0x4557, info), \ >> - INTEL_VGA_DEVICE(0x4555, info), \ >> + INTEL_VGA_DEVICE(0x4555, info) >> + >> +/* JSL */ >> +#define INTEL_JSL_IDS(info) \ >> + INTEL_VGA_DEVICE(0x4E71, info), \ >> INTEL_VGA_DEVICE(0x4E61, info), \ >> INTEL_VGA_DEVICE(0x4E57, info), \ >> INTEL_VGA_DEVICE(0x4E55, info), \ > > -- > Jani Nikula, Intel Open Source Graphics Center -- Jani Nikula, Intel Open Source Graphics Center