<div>hi all</div><div>excuse me ,could the kernel support 8k60 dsc function?</div><div><br></div><div><!--emptysign--></div><div><div style="font-size:12px;padding:2px 0;">---Original---</div><div style="font-size:12px;background:#f0f0f0;color:#212121;padding:8px!important;border-radius:4px;line-height:1.5;"><div><b>From:</b> "intel-gfx-request"<intel-gfx-request@lists.freedesktop.org></div><div><b>Date:</b> Tue, Apr 27, 2021 17:32 PM</div><div><b>To:</b> "intel-gfx"<intel-gfx@lists.freedesktop.org>;</div><div><b>Subject:</b> Intel-gfx Digest, Vol 159, Issue 337</div></div><br>Send Intel-gfx mailing list submissions to<br>   intel-gfx@lists.freedesktop.org<br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>     https://lists.freedesktop.org/mailman/listinfo/intel-gfx<br>or, via email, send a message with subject or body 'help' to<br> intel-gfx-request@lists.freedesktop.org<br><br>You can reach the person managing the list at<br>      intel-gfx-owner@lists.freedesktop.org<br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of Intel-gfx digest..."<br><br><br>Today's Topics:<br><br>   1. [PATCH 8/8] drm/modifiers: Enforce consistency between the<br>      cap an IN_FORMATS (Daniel Vetter)<br>   2. ? Fi.CI.CHECKPATCH: warning for series starting with [v2,1/7]<br>      drm/i915/dg1: Fix mapping type for default state object (Patchwork)<br>   3. ? Fi.CI.SPARSE: warning for series starting with [v2,1/7]<br>      drm/i915/dg1: Fix mapping type for default state object (Patchwork)<br>   4. Re: [PATCH 8/8] drm/modifiers: Enforce consistency between<br>      the cap an IN_FORMATS (Simon Ser)<br>   5. Re: [PATCH 01/21] drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE<br>      (Daniel Vetter)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Tue, 27 Apr 2021 11:20:18 +0200<br>From: Daniel Vetter <daniel.vetter@ffwll.ch><br>To: DRI Development <dri-devel@lists.freedesktop.org><br>Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>,<br>    Daniel Vetter <daniel.vetter@ffwll.ch>, Maxime Ripard<br>       <maxime@cerno.tech>, Simon Ser <contact@emersion.fr>, Lucas Stach<br>        <l.stach@pengutronix.de>, Pekka Paalanen<br>      <pekka.paalanen@collabora.com>, Daniel Vetter<br> <daniel.vetter@intel.com>, Maarten Lankhorst<br>  <maarten.lankhorst@linux.intel.com>, Maxime Ripard<br>    <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, David<br>  Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch><br>Subject: [Intel-gfx] [PATCH 8/8] drm/modifiers: Enforce consistency<br> between the cap an IN_FORMATS<br>Message-ID: <20210427092018.832258-8-daniel.vetter@ffwll.ch><br><br>It's very confusing for userspace to have to deal with inconsistencies<br>here, and some drivers screwed this up a bit. Most just ommitted the<br>format list when they meant to say that only linear modifier is<br>allowed, but some also meant that only implied modifiers are<br>acceptable (because actually none of the planes registered supported<br>modifiers).<br><br>Now that this is all done consistently across all drivers, document<br>the rules and enforce it in the drm core.<br><br>v2:<br>- Make the capability a link (Simon)<br>- Note that all is lost before 5.1.<br><br>Acked-by: Maxime Ripard <maxime@cerno.tech><br>Cc: Simon Ser <contact@emersion.fr><br>Reviewed-by: Lucas Stach <l.stach@pengutronix.de><br>Cc: Pekka Paalanen <pekka.paalanen@collabora.com><br>Signed-off-by: Daniel Vetter <daniel.vetter@intel.com><br>Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com><br>Cc: Maxime Ripard <mripard@kernel.org><br>Cc: Thomas Zimmermann <tzimmermann@suse.de><br>Cc: David Airlie <airlied@linux.ie><br>Cc: Daniel Vetter <daniel@ffwll.ch><br>---<br> drivers/gpu/drm/drm_plane.c   | 18 +++++++++++++++++-<br> include/drm/drm_mode_config.h |  2 ++<br> 2 files changed, 19 insertions(+), 1 deletion(-)<br><br>diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c<br>index 0dd43882fe7c..20c7a1665414 100644<br>--- a/drivers/gpu/drm/drm_plane.c<br>+++ b/drivers/gpu/drm/drm_plane.c<br>@@ -128,6 +128,13 @@<br>  *     pairs supported by this plane. The blob is a struct<br>  *     drm_format_modifier_blob. Without this property the plane doesn't<br>  *     support buffers with modifiers. Userspace cannot change this property.<br>+ *<br>+ *     Note that userspace can check the &DRM_CAP_ADDFB2_MODIFIERS driver<br>+ *     capability for general modifier support. If this flag is set then every<br>+ *     plane will have the IN_FORMATS property, even when it only supports<br>+ *     DRM_FORMAT_MOD_LINEAR. Before linux kernel release v5.1 there have been<br>+ *     various bugs in this area with inconsistencies between the capability<br>+ *     flag and per-plane properties.<br>  */<br> <br> static unsigned int drm_num_planes(struct drm_device *dev)<br>@@ -277,8 +284,14 @@ static int __drm_universal_plane_init(struct drm_device *dev,<br>                    format_modifier_count++;<br>         }<br> <br>-    if (format_modifier_count)<br>+      /* autoset the cap and check for consistency across all planes */<br>+     if (format_modifier_count) {<br>+               WARN_ON(!config->allow_fb_modifiers &&<br>+                       !list_empty(&config->plane_list));<br>                config->allow_fb_modifiers = true;<br>+      } else {<br>+           WARN_ON(config->allow_fb_modifiers);<br>+      }<br> <br>        plane->modifier_count = format_modifier_count;<br>      plane->modifiers = kmalloc_array(format_modifier_count,<br>@@ -360,6 +373,9 @@ static int __drm_universal_plane_init(struct drm_device *dev,<br>  * drm_universal_plane_init() to let the DRM managed resource infrastructure<br>  * take care of cleanup and deallocation.<br>  *<br>+ * Drivers supporting modifiers must set @format_modifiers on all their planes,<br>+ * even those that only support DRM_FORMAT_MOD_LINEAR.<br>+ *<br>  * Returns:<br>  * Zero on success, error code on failure.<br>  */<br>diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h<br>index ab424ddd7665..1ddf7783fdf7 100644<br>--- a/include/drm/drm_mode_config.h<br>+++ b/include/drm/drm_mode_config.h<br>@@ -909,6 +909,8 @@ struct drm_mode_config {<br>   * @allow_fb_modifiers:<br>         *<br>   * Whether the driver supports fb modifiers in the ADDFB2.1 ioctl call.<br>+   * Note that drivers should not set this directly, it is automatically<br>+    * set in drm_universal_plane_init().<br>         *<br>   * IMPORTANT:<br>   *<br>-- <br>2.31.0<br><br><br><br>------------------------------<br><br>Message: 2<br>Date: Tue, 27 Apr 2021 09:20:33 -0000<br>From: Patchwork <patchwork@emeril.freedesktop.org><br>To: "Matthew Auld" <matthew.auld@intel.com><br>Cc: intel-gfx@lists.freedesktop.org<br>Subject: [Intel-gfx] ? Fi.CI.CHECKPATCH: warning for series starting<br>    with [v2,1/7] drm/i915/dg1: Fix mapping type for default state object<br>Message-ID:<br>       <161951523391.17488.82611456932237000@emeril.freedesktop.org><br>Content-Type: text/plain; charset="utf-8"<br><br>== Series Details ==<br><br>Series: series starting with [v2,1/7] drm/i915/dg1: Fix mapping type for default state object<br>URL   : https://patchwork.freedesktop.org/series/89529/<br>State : warning<br><br>== Summary ==<br><br>$ dim checkpatch origin/drm-tip<br>c40331cdc349 drm/i915/dg1: Fix mapping type for default state object<br>6170c13d83ab drm/i915: Update the helper to set correct mapping<br>-:56: CHECK:BRACES: Unbalanced braces around else statement<br>#56: FILE: drivers/gpu/drm/i915/gt/intel_ring.c:56:<br>+ else {<br><br>total: 0 errors, 0 warnings, 1 checks, 123 lines checked<br>f501307a51b0 drm/i915/gtt: map the PD up front<br>81f1a39eb04c drm/i915/gtt/dgfx: place the PD in LMEM<br>87f851fc9c27 drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on discrete<br>4c20b10e9301 drm/i915/lmem: Bypass aperture when lmem is available<br>e85d70bf7f2a drm/i915: Return error value when bo not in LMEM for discrete<br><br><br><br><br>------------------------------<br><br>Message: 3<br>Date: Tue, 27 Apr 2021 09:22:05 -0000<br>From: Patchwork <patchwork@emeril.freedesktop.org><br>To: "Matthew Auld" <matthew.auld@intel.com><br>Cc: intel-gfx@lists.freedesktop.org<br>Subject: [Intel-gfx] ? Fi.CI.SPARSE: warning for series starting with<br>    [v2,1/7] drm/i915/dg1: Fix mapping type for default state object<br>Message-ID:<br> <161951532582.17486.7682258024528021280@emeril.freedesktop.org><br>Content-Type: text/plain; charset="utf-8"<br><br>== Series Details ==<br><br>Series: series starting with [v2,1/7] drm/i915/dg1: Fix mapping type for default state object<br>URL   : https://patchwork.freedesktop.org/series/89529/<br>State : warning<br><br>== Summary ==<br><br>$ dim sparse --fast origin/drm-tip<br>Sparse version: v0.6.2<br>Fast mode used, each commit won't be checked separately.<br>-<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:32:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:32:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:56:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_engine_stats.h:56:9: warning: trying to copy expression type 31<br>+drivers/gpu/drm/i915/gt/intel_reset.c:1329:5: warning: context imbalance in 'intel_gt_reset_trylock' - different lock contexts for basic block<br>+drivers/gpu/drm/i915/gt/intel_ring_submission.c:1203:24: warning: Using plain integer as NULL pointer<br>+drivers/gpu/drm/i915/gvt/mmio.c:295:23: warning: memcpy with byte count of 279040<br>+drivers/gpu/drm/i915/i915_perf.c:1434:15: warning: memset with byte count of 16777216<br>+drivers/gpu/drm/i915/i915_perf.c:1488:15: warning: memset with byte count of 16777216<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read64' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read64' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read64' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read64' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write8' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write16' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write32' - different lock contexts for basic block<br>+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write8' - different lock contexts for basic block<br><br><br><br><br>------------------------------<br><br>Message: 4<br>Date: Tue, 27 Apr 2021 09:30:00 +0000<br>From: Simon Ser <contact@emersion.fr><br>To: Daniel Vetter <daniel.vetter@ffwll.ch><br>Cc: DRI Development <dri-devel@lists.freedesktop.org>, Intel Graphics<br> Development <intel-gfx@lists.freedesktop.org>, Maxime Ripard<br>     <maxime@cerno.tech>, Lucas Stach <l.stach@pengutronix.de>, Pekka<br>      Paalanen <pekka.paalanen@collabora.com>, Daniel Vetter<br>   <daniel.vetter@intel.com>, Maarten Lankhorst<br>  <maarten.lankhorst@linux.intel.com>, Maxime Ripard<br>    <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, David<br>  Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch><br>Subject: Re: [Intel-gfx] [PATCH 8/8] drm/modifiers: Enforce<br> consistency between the cap an IN_FORMATS<br>Message-ID:<br>       <uqljuuwh-zemmi8gabpwazelgf0oe7xchfjpptax2trgkjsxkjur_ydoxppwrt2kqsn2-is1eqwrkoaazi__l4d5frpolywu4n2zxufsb78=@emersion.fr><br>      <br>Content-Type: text/plain; charset=utf-8<br><br>Reviewed-by: Simon Ser <contact@emersion.fr><br><br><br>------------------------------<br><br>Message: 5<br>Date: Tue, 27 Apr 2021 11:32:48 +0200<br>From: Daniel Vetter <daniel@ffwll.ch><br>To: Jason Ekstrand <jason@jlekstrand.net><br>Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org<br>Subject: Re: [Intel-gfx] [PATCH 01/21] drm/i915: Drop<br> I915_CONTEXT_PARAM_RINGSIZE<br>Message-ID: <yifaqjezdihlj30d@phenom.ffwll.local><br>Content-Type: text/plain; charset=iso-8859-1<br><br>On Fri, Apr 23, 2021 at 05:31:11PM -0500, Jason Ekstrand wrote:<br>> This reverts commit 88be76cdafc7 ("drm/i915: Allow userspace to specify<br>> ringsize on construction").  This API was originally added for OpenCL<br>> but the compute-runtime PR has sat open for a year without action so we<br>> can still pull it out if we want.  I argue we should drop it for three<br>> reasons:<br>> <br>>  1. If the compute-runtime PR has sat open for a year, this clearly<br>>     isn't that important.<br>> <br>>  2. It's a very leaky API.  Ring size is an implementation detail of the<br>>     current execlist scheduler and really only makes sense there.  It<br>>     can't apply to the older ring-buffer scheduler on pre-execlist<br>>     hardware because that's shared across all contexts and it won't<br>>     apply to the GuC scheduler that's in the pipeline.<br>> <br>>  3. Having userspace set a ring size in bytes is a bad solution to the<br>>     problem of having too small a ring.  There is no way that userspace<br>>     has the information to know how to properly set the ring size so<br>>     it's just going to detect the feature and always set it to the<br>>     maximum of 512K.  This is what the compute-runtime PR does.  The<br>>     scheduler in i915, on the other hand, does have the information to<br>>     make an informed choice.  It could detect if the ring size is a<br>>     problem and grow it itself.  Or, if that's too hard, we could just<br>>     increase the default size from 16K to 32K or even 64K instead of<br>>     relying on userspace to do it.<br>> <br>> Let's drop this API for now and, if someone decides they really care<br>> about solving this problem, they can do it properly.<br>> <br>> Signed-off-by: Jason Ekstrand <jason@jlekstrand.net><br><br>Two things:<br>- I'm assuming you have an igt change to make sure we get EINVAL for both<br>  set and getparam now? Just to make sure.<br><br>- intel_context->ring is either a ring pointer when CONTEXT_ALLOC_BIT is<br>  set in ce->flags, or the size of the ring stored in the pointer if not.<br>  I'm seriously hoping you get rid of this complexity with your<br>  proto-context series, and also delete __intel_context_ring_size() in the<br>  end. That function has no business existing imo.<br><br>  If not, please make sure that's the case.<br><br>Aside from these patch looks good.<br><br>Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch><br><br>> ---<br>>  drivers/gpu/drm/i915/Makefile                 |  1 -<br>>  drivers/gpu/drm/i915/gem/i915_gem_context.c   | 85 +------------------<br>>  drivers/gpu/drm/i915/gt/intel_context_param.c | 63 --------------<br>>  drivers/gpu/drm/i915/gt/intel_context_param.h |  3 -<br>>  include/uapi/drm/i915_drm.h                   | 20 +----<br>>  5 files changed, 4 insertions(+), 168 deletions(-)<br>>  delete mode 100644 drivers/gpu/drm/i915/gt/intel_context_param.c<br>> <br>> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile<br>> index d0d936d9137bc..afa22338fa343 100644<br>> --- a/drivers/gpu/drm/i915/Makefile<br>> +++ b/drivers/gpu/drm/i915/Makefile<br>> @@ -88,7 +88,6 @@ gt-y += \<br>>      gt/gen8_ppgtt.o \<br>>          gt/intel_breadcrumbs.o \<br>>   gt/intel_context.o \<br>> -  gt/intel_context_param.o \<br>>         gt/intel_context_sseu.o \<br>>          gt/intel_engine_cs.o \<br>>     gt/intel_engine_heartbeat.o \<br>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c<br>> index fd8ee52e17a47..e52b85b8f923d 100644<br>> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c<br>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c<br>> @@ -1335,63 +1335,6 @@ static int set_ppgtt(struct drm_i915_file_private *file_priv,<br>>          return err;<br>>  }<br>>  <br>> -static int __apply_ringsize(struct intel_context *ce, void *sz)<br>> -{<br>> -      return intel_context_set_ring_size(ce, (unsigned long)sz);<br>> -}<br>> -<br>> -static int set_ringsize(struct i915_gem_context *ctx,<br>> -                 struct drm_i915_gem_context_param *args)<br>> -{<br>> -   if (!HAS_LOGICAL_RING_CONTEXTS(ctx->i915))<br>> -         return -ENODEV;<br>> -<br>> -  if (args->size)<br>> -            return -EINVAL;<br>> -<br>> -  if (!IS_ALIGNED(args->value, I915_GTT_PAGE_SIZE))<br>> -             return -EINVAL;<br>> -<br>> -  if (args->value < I915_GTT_PAGE_SIZE)<br>> -         return -EINVAL;<br>> -<br>> -  if (args->value > 128 * I915_GTT_PAGE_SIZE)<br>> -         return -EINVAL;<br>> -<br>> -  return context_apply_all(ctx,<br>> -                          __apply_ringsize,<br>> -                             __intel_context_ring_size(args->value));<br>> -}<br>> -<br>> -static int __get_ringsize(struct intel_context *ce, void *arg)<br>> -{<br>> -        long sz;<br>> -<br>> - sz = intel_context_get_ring_size(ce);<br>> -    GEM_BUG_ON(sz > INT_MAX);<br>> -<br>> -        return sz; /* stop on first engine */<br>> -}<br>> -<br>> -static int get_ringsize(struct i915_gem_context *ctx,<br>> -                  struct drm_i915_gem_context_param *args)<br>> -{<br>> -   int sz;<br>> -<br>> -  if (!HAS_LOGICAL_RING_CONTEXTS(ctx->i915))<br>> -         return -ENODEV;<br>> -<br>> -  if (args->size)<br>> -            return -EINVAL;<br>> -<br>> -  sz = context_apply_all(ctx, __get_ringsize, NULL);<br>> -     if (sz < 0)<br>> -              return sz;<br>> -<br>> -       args->value = sz;<br>> -     return 0;<br>> -}<br>> -<br>>  int<br>>  i915_gem_user_to_context_sseu(struct intel_gt *gt,<br>>                          const struct drm_i915_gem_context_param_sseu *user,<br>> @@ -2037,11 +1980,8 @@ static int ctx_setparam(struct drm_i915_file_private *fpriv,<br>>           ret = set_persistence(ctx, args);<br>>                break;<br>>  <br>> -   case I915_CONTEXT_PARAM_RINGSIZE:<br>> -             ret = set_ringsize(ctx, args);<br>> -              break;<br>> -<br>>     case I915_CONTEXT_PARAM_BAN_PERIOD:<br>> +   case I915_CONTEXT_PARAM_RINGSIZE:<br>>          default:<br>>                ret = -EINVAL;<br>>                break;<br>> @@ -2069,18 +2009,6 @@ static int create_setparam(struct i915_user_extension __user *ext, void *data)<br>>          return ctx_setparam(arg->fpriv, arg->ctx, &local.param);<br>>  }<br>>  <br>> -static int copy_ring_size(struct intel_context *dst,<br>> -                          struct intel_context *src)<br>> -{<br>> -     long sz;<br>> -<br>> - sz = intel_context_get_ring_size(src);<br>> -   if (sz < 0)<br>> -              return sz;<br>> -<br>> -       return intel_context_set_ring_size(dst, sz);<br>> -}<br>> -<br>>  static int clone_engines(struct i915_gem_context *dst,<br>>                    struct i915_gem_context *src)<br>>  {<br>> @@ -2125,12 +2053,6 @@ static int clone_engines(struct i915_gem_context *dst,<br>>               }<br>>  <br>>             intel_context_set_gem(clone->engines[n], dst);<br>> -<br>> -                /* Copy across the preferred ringsize */<br>> -             if (copy_ring_size(clone->engines[n], e->engines[n])) {<br>> -                       __free_engines(clone, n + 1);<br>> -                       goto err_unlock;<br>> -              }<br>>       }<br>>       clone->num_engines = n;<br>>    i915_sw_fence_complete(&e->fence);<br>> @@ -2490,11 +2412,8 @@ int i915_gem_context_getparam_ioctl(struct drm_device *dev, void *data,<br>>                args->value = i915_gem_context_is_persistent(ctx);<br>>                 break;<br>>  <br>> -   case I915_CONTEXT_PARAM_RINGSIZE:<br>> -             ret = get_ringsize(ctx, args);<br>> -              break;<br>> -<br>>     case I915_CONTEXT_PARAM_BAN_PERIOD:<br>> +   case I915_CONTEXT_PARAM_RINGSIZE:<br>>          default:<br>>                ret = -EINVAL;<br>>                break;<br>> diff --git a/drivers/gpu/drm/i915/gt/intel_context_param.c b/drivers/gpu/drm/i915/gt/intel_context_param.c<br>> deleted file mode 100644<br>> index 65dcd090245d6..0000000000000<br>> --- a/drivers/gpu/drm/i915/gt/intel_context_param.c<br>> +++ /dev/null<br>> @@ -1,63 +0,0 @@<br>> -// SPDX-License-Identifier: MIT<br>> -/*<br>> - * Copyright ? 2019 Intel Corporation<br>> - */<br>> -<br>> -#include "i915_active.h"<br>> -#include "intel_context.h"<br>> -#include "intel_context_param.h"<br>> -#include "intel_ring.h"<br>> -<br>> -int intel_context_set_ring_size(struct intel_context *ce, long sz)<br>> -{<br>> -  int err;<br>> -<br>> - if (intel_context_lock_pinned(ce))<br>> -            return -EINTR;<br>> -<br>> -   err = i915_active_wait(&ce->active);<br>> -      if (err < 0)<br>> -             goto unlock;<br>> -<br>> -     if (intel_context_is_pinned(ce)) {<br>> -               err = -EBUSY; /* In active use, come back later! */<br>> -              goto unlock;<br>> -  }<br>> -<br>> -     if (test_bit(CONTEXT_ALLOC_BIT, &ce->flags)) {<br>> -               struct intel_ring *ring;<br>> -<br>> -            /* Replace the existing ringbuffer */<br>> -             ring = intel_engine_create_ring(ce->engine, sz);<br>> -         if (IS_ERR(ring)) {<br>> -                      err = PTR_ERR(ring);<br>> -                     goto unlock;<br>> -          }<br>> -<br>> -             intel_ring_put(ce->ring);<br>> -               ce->ring = ring;<br>> -<br>> -         /* Context image will be updated on next pin */<br>> -       } else {<br>> -         ce->ring = __intel_context_ring_size(sz);<br>> -     }<br>> -<br>> -unlock:<br>> - intel_context_unlock_pinned(ce);<br>> -   return err;<br>> -}<br>> -<br>> -long intel_context_get_ring_size(struct intel_context *ce)<br>> -{<br>> -    long sz = (unsigned long)READ_ONCE(ce->ring);<br>> -<br>> -  if (test_bit(CONTEXT_ALLOC_BIT, &ce->flags)) {<br>> -               if (intel_context_lock_pinned(ce))<br>> -                    return -EINTR;<br>> -<br>> -           sz = ce->ring->size;<br>> -               intel_context_unlock_pinned(ce);<br>> -   }<br>> -<br>> -     return sz;<br>> -}<br>> diff --git a/drivers/gpu/drm/i915/gt/intel_context_param.h b/drivers/gpu/drm/i915/gt/intel_context_param.h<br>> index 3ecacc675f414..dffedd983693d 100644<br>> --- a/drivers/gpu/drm/i915/gt/intel_context_param.h<br>> +++ b/drivers/gpu/drm/i915/gt/intel_context_param.h<br>> @@ -10,9 +10,6 @@<br>>  <br>>  #include "intel_context.h"<br>>  <br>> -int intel_context_set_ring_size(struct intel_context *ce, long sz);<br>> -long intel_context_get_ring_size(struct intel_context *ce);<br>> -<br>>  static inline int<br>>  intel_context_set_watchdog_us(struct intel_context *ce, u64 timeout_us)<br>>  {<br>> diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h<br>> index 6a34243a7646a..6eefbc6dec01f 100644<br>> --- a/include/uapi/drm/i915_drm.h<br>> +++ b/include/uapi/drm/i915_drm.h<br>> @@ -1721,24 +1721,8 @@ struct drm_i915_gem_context_param {<br>>   */<br>>  #define I915_CONTEXT_PARAM_PERSISTENCE   0xb<br>>  <br>> -/*<br>> - * I915_CONTEXT_PARAM_RINGSIZE:<br>> - *<br>> - * Sets the size of the CS ringbuffer to use for logical ring contexts. This<br>> - * applies a limit of how many batches can be queued to HW before the caller<br>> - * is blocked due to lack of space for more commands.<br>> - *<br>> - * Only reliably possible to be set prior to first use, i.e. during<br>> - * construction. At any later point, the current execution must be flushed as<br>> - * the ring can only be changed while the context is idle. Note, the ringsize<br>> - * can be specified as a constructor property, see<br>> - * I915_CONTEXT_CREATE_EXT_SETPARAM, but can also be set later if required.<br>> - *<br>> - * Only applies to the current set of engine and lost when those engines<br>> - * are replaced by a new mapping (see I915_CONTEXT_PARAM_ENGINES).<br>> - *<br>> - * Must be between 4 - 512 KiB, in intervals of page size [4 KiB].<br>> - * Default is 16 KiB.<br>> +/* This API has been removed.  On the off chance someone somewhere has<br>> + * attempted to use it, never re-use this context param number.<br>>   */<br>>  #define I915_CONTEXT_PARAM_RINGSIZE  0xc<br>>  /* Must be kept compact -- no holes and well documented */<br>> -- <br>> 2.31.1<br>> <br>> _______________________________________________<br>> dri-devel mailing list<br>> dri-devel@lists.freedesktop.org<br>> https://lists.freedesktop.org/mailman/listinfo/dri-devel<br><br>-- <br>Daniel Vetter<br>Software Engineer, Intel Corporation<br>http://blog.ffwll.ch<br><br><br>------------------------------<br><br>Subject: Digest Footer<br><br>_______________________________________________<br>Intel-gfx mailing list<br>Intel-gfx@lists.freedesktop.org<br>https://lists.freedesktop.org/mailman/listinfo/intel-gfx<br><br><br>------------------------------<br><br>End of Intel-gfx Digest, Vol 159, Issue 337<br>*******************************************<br></daniel.vetter@ffwll.ch></jason@jlekstrand.net></yifaqjezdihlj30d@phenom.ffwll.local></jason@jlekstrand.net></daniel@ffwll.ch></contact@emersion.fr></uqljuuwh-zemmi8gabpwazelgf0oe7xchfjpptax2trgkjsxkjur_ydoxppwrt2kqsn2-is1eqwrkoaazi__l4d5frpolywu4n2zxufsb78=@emersion.fr></daniel@ffwll.ch></airlied@linux.ie></tzimmermann@suse.de></mripard@kernel.org></maarten.lankhorst@linux.intel.com></daniel.vetter@intel.com></pekka.paalanen@collabora.com></l.stach@pengutronix.de></maxime@cerno.tech></intel-gfx@lists.freedesktop.org></dri-devel@lists.freedesktop.org></daniel.vetter@ffwll.ch></contact@emersion.fr></matthew.auld@intel.com></patchwork@emeril.freedesktop.org></matthew.auld@intel.com></patchwork@emeril.freedesktop.org></daniel@ffwll.ch></airlied@linux.ie></tzimmermann@suse.de></mripard@kernel.org></maarten.lankhorst@linux.intel.com></daniel.vetter@intel.com></pekka.paalanen@collabora.com></l.stach@pengutronix.de></contact@emersion.fr></maxime@cerno.tech></daniel@ffwll.ch></airlied@linux.ie></tzimmermann@suse.de></mripard@kernel.org></maarten.lankhorst@linux.intel.com></daniel.vetter@intel.com></pekka.paalanen@collabora.com></l.stach@pengutronix.de></contact@emersion.fr></maxime@cerno.tech></daniel.vetter@ffwll.ch></intel-gfx@lists.freedesktop.org></dri-devel@lists.freedesktop.org></daniel.vetter@ffwll.ch></div>