All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
@ 2018-10-16  1:29 José Roberto de Souza
  2018-10-16  1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: José Roberto de Souza @ 2018-10-16  1:29 UTC (permalink / raw)
  To: intel-gfx

intel_csr_ucode_init() gets a POWER_DOMAIN_INIT reference but it is
only released in csr_load_work_fn() if DMC firmware is present in
filesystem, keeping a reference to POWER_DOMAIN_INIT and every power
well enabled all the times.

Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/intel_csr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index fc7bd21fa586..7c91a56869e9 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -423,8 +423,6 @@ static void csr_load_work_fn(struct work_struct *work)
 	if (dev_priv->csr.dmc_payload) {
 		intel_csr_load_program(dev_priv);
 
-		intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
-
 		DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
 			 dev_priv->csr.fw_path,
 			 CSR_VERSION_MAJOR(csr->version),
@@ -439,6 +437,8 @@ static void csr_load_work_fn(struct work_struct *work)
 	}
 
 	release_firmware(fw);
+
+	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
 }
 
 /**
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded
  2018-10-16  1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
@ 2018-10-16  1:29 ` José Roberto de Souza
  2018-10-16  2:04 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: José Roberto de Souza @ 2018-10-16  1:29 UTC (permalink / raw)
  To: intel-gfx

When DMC firmware is not loaded, it return earlier in
gen9_dc_off_power_well_disable() as it will have no effect without
DMC firmware loaded. But it will cause a mismatch state error when
running intel_power_domains_verify_state(), so skipping this error
in this case.

Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 3cf8533e0834..99edfcafc106 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -3980,11 +3980,22 @@ static void intel_power_domains_verify_state(struct drm_i915_private *dev_priv)
 		enabled = power_well->desc->ops->is_enabled(dev_priv,
 							    power_well);
 		if ((power_well->count || power_well->desc->always_on) !=
-		    enabled)
+		    enabled) {
+			/* If DMC firmware is not loaded it could cause a
+			 * mismatch state as we can't disable DC off, so let's
+			 * do not print any errors in this scenario.
+			 */
+
+			if (!strcmp("DC off", power_well->desc->name) &&
+			    !dev_priv->csr.dmc_payload)
+				goto skip_state_mismatch_error;
+
 			DRM_ERROR("power well %s state mismatch (refcount %d/enabled %d)",
 				  power_well->desc->name,
 				  power_well->count, enabled);
+		}
 
+skip_state_mismatch_error:
 		domains_count = 0;
 		for_each_power_domain(domain, power_well->desc->domains)
 			domains_count += power_domains->domain_use_count[domain];
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
  2018-10-16  1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
  2018-10-16  1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
@ 2018-10-16  2:04 ` Patchwork
  2018-10-16  3:00 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-10-16  2:04 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
URL   : https://patchwork.freedesktop.org/series/51039/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4984 -> Patchwork_10465 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51039/revisions/1/mbox/

== Known issues ==

  Here are the changes found in Patchwork_10465 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s3:
      fi-blb-e6850:       PASS -> INCOMPLETE (fdo#107718)

    igt@kms_frontbuffer_tracking@basic:
      fi-icl-u2:          PASS -> FAIL (fdo#103167)

    
    ==== Possible fixes ====

    igt@kms_frontbuffer_tracking@basic:
      fi-byt-clapper:     FAIL (fdo#103167) -> PASS

    
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718


== Participating hosts (53 -> 47) ==

  Additional (1): fi-icl-u 
  Missing    (7): fi-hsw-4770r fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-n2820 


== Build changes ==

    * Linux: CI_DRM_4984 -> Patchwork_10465

  CI_DRM_4984: 90b59df999a13a6405f8d7ece08a69120a9b361a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4678: 9310a1265ceabeec736bdf0a76e1e0357c76c0b1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10465: be186bd6a687fce3e74f76640daf026f1d09cb90 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

be186bd6a687 drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded
39f4c897f58b drm/i915: Fix power domain reference balance when DMC firmware is not present

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10465/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
  2018-10-16  1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
  2018-10-16  1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
  2018-10-16  2:04 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present Patchwork
@ 2018-10-16  3:00 ` Patchwork
  2018-10-16  8:16 ` [PATCH 1/2] " Chris Wilson
  2018-10-16  9:22 ` Imre Deak
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-10-16  3:00 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
URL   : https://patchwork.freedesktop.org/series/51039/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4984_full -> Patchwork_10465_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10465_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10465_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_10465_full:

  === IGT changes ===

    ==== Warnings ====

    igt@drm_read@empty-nonblock:
      shard-snb:          PASS -> SKIP +3

    
== Known issues ==

  Here are the changes found in Patchwork_10465_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_cpu_reloc@full:
      shard-skl:          NOTRUN -> INCOMPLETE (fdo#108073)

    igt@gem_ctx_isolation@vcs0-s3:
      shard-skl:          PASS -> INCOMPLETE (fdo#104108, fdo#107773)

    igt@gem_exec_schedule@pi-ringfull-vebox:
      shard-skl:          NOTRUN -> FAIL (fdo#103158)

    igt@gem_ppgtt@blt-vs-render-ctxn:
      shard-skl:          NOTRUN -> TIMEOUT (fdo#108039)

    igt@gem_wait@busy-default:
      shard-snb:          PASS -> INCOMPLETE (fdo#105411)

    igt@kms_busy@extended-modeset-hang-newfb-render-a:
      shard-skl:          NOTRUN -> DMESG-WARN (fdo#107956) +2

    igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
      shard-skl:          NOTRUN -> FAIL (fdo#105458)

    igt@kms_cursor_crc@cursor-256x85-sliding:
      shard-apl:          PASS -> FAIL (fdo#103232)

    igt@kms_draw_crc@fill-fb:
      shard-skl:          NOTRUN -> FAIL (fdo#103184)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
      shard-apl:          PASS -> FAIL (fdo#103167) +2

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
      shard-glk:          PASS -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen:
      shard-skl:          NOTRUN -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
      shard-skl:          NOTRUN -> FAIL (fdo#105683)

    igt@kms_panel_fitting@legacy:
      shard-skl:          NOTRUN -> FAIL (fdo#105456)

    igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
      shard-skl:          PASS -> FAIL (fdo#103191, fdo#107362)

    igt@kms_plane@pixel-format-pipe-a-planes:
      shard-skl:          NOTRUN -> DMESG-FAIL (fdo#103166, fdo#106885)

    igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
      shard-apl:          PASS -> FAIL (fdo#108145)

    igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
      shard-skl:          NOTRUN -> FAIL (fdo#108145) +3

    igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
      shard-apl:          PASS -> FAIL (fdo#103166)

    igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
      shard-glk:          PASS -> FAIL (fdo#103166)

    igt@kms_rotation_crc@exhaust-fences:
      shard-skl:          NOTRUN -> DMESG-WARN (fdo#105748)

    igt@kms_sysfs_edid_timing:
      shard-skl:          NOTRUN -> FAIL (fdo#100047)

    
    ==== Possible fixes ====

    igt@kms_cursor_crc@cursor-64x64-dpms:
      shard-apl:          FAIL (fdo#103232) -> PASS

    igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
      shard-glk:          DMESG-WARN (fdo#106538, fdo#105763) -> PASS

    igt@kms_flip_tiling@flip-yf-tiled:
      shard-apl:          DMESG-WARN (fdo#105602, fdo#103558) -> PASS +2

    igt@kms_frontbuffer_tracking@fbc-1p-rte:
      shard-apl:          DMESG-FAIL (fdo#105602, fdo#103558, fdo#103167) -> PASS

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
      shard-glk:          FAIL (fdo#103167) -> PASS

    igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
      shard-skl:          INCOMPLETE (fdo#104108) -> PASS

    igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
      shard-glk:          FAIL (fdo#108145) -> PASS

    igt@kms_plane_lowres@pipe-a-tiling-yf:
      shard-kbl:          DMESG-WARN (fdo#105345) -> PASS

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-apl:          FAIL (fdo#103166) -> PASS

    igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
      shard-glk:          FAIL (fdo#103166) -> PASS +1

    igt@kms_setmode@basic:
      shard-apl:          FAIL (fdo#99912) -> PASS

    
  fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
  fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#105345 https://bugs.freedesktop.org/show_bug.cgi?id=105345
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105456 https://bugs.freedesktop.org/show_bug.cgi?id=105456
  fdo#105458 https://bugs.freedesktop.org/show_bug.cgi?id=105458
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105683 https://bugs.freedesktop.org/show_bug.cgi?id=105683
  fdo#105748 https://bugs.freedesktop.org/show_bug.cgi?id=105748
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108039 https://bugs.freedesktop.org/show_bug.cgi?id=108039
  fdo#108073 https://bugs.freedesktop.org/show_bug.cgi?id=108073
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (6 -> 6) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4984 -> Patchwork_10465

  CI_DRM_4984: 90b59df999a13a6405f8d7ece08a69120a9b361a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4678: 9310a1265ceabeec736bdf0a76e1e0357c76c0b1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10465: be186bd6a687fce3e74f76640daf026f1d09cb90 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10465/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
  2018-10-16  1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
                   ` (2 preceding siblings ...)
  2018-10-16  3:00 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-10-16  8:16 ` Chris Wilson
  2018-10-16  9:22 ` Imre Deak
  4 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-10-16  8:16 UTC (permalink / raw)
  To: José Roberto de Souza, intel-gfx

Quoting José Roberto de Souza (2018-10-16 02:29:45)
> intel_csr_ucode_init() gets a POWER_DOMAIN_INIT reference but it is
> only released in csr_load_work_fn() if DMC firmware is present in
> filesystem, keeping a reference to POWER_DOMAIN_INIT and every power
> well enabled all the times.
> 
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_csr.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index fc7bd21fa586..7c91a56869e9 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -423,8 +423,6 @@ static void csr_load_work_fn(struct work_struct *work)
>         if (dev_priv->csr.dmc_payload) {
>                 intel_csr_load_program(dev_priv);
>  
> -               intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> -
>                 DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
>                          dev_priv->csr.fw_path,
>                          CSR_VERSION_MAJOR(csr->version),
> @@ -439,6 +437,8 @@ static void csr_load_work_fn(struct work_struct *work)

You would also have to update the comment about leaving the powerwells
disabled being intentional.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
  2018-10-16  1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
                   ` (3 preceding siblings ...)
  2018-10-16  8:16 ` [PATCH 1/2] " Chris Wilson
@ 2018-10-16  9:22 ` Imre Deak
  4 siblings, 0 replies; 6+ messages in thread
From: Imre Deak @ 2018-10-16  9:22 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

On Mon, Oct 15, 2018 at 06:29:45PM -0700, José Roberto de Souza wrote:
> intel_csr_ucode_init() gets a POWER_DOMAIN_INIT reference but it is
> only released in csr_load_work_fn() if DMC firmware is present in
> filesystem, keeping a reference to POWER_DOMAIN_INIT and every power
> well enabled all the times.
> 
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_csr.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index fc7bd21fa586..7c91a56869e9 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -423,8 +423,6 @@ static void csr_load_work_fn(struct work_struct *work)
>  	if (dev_priv->csr.dmc_payload) {
>  		intel_csr_load_program(dev_priv);
>  
> -		intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> -
>  		DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
>  			 dev_priv->csr.fw_path,
>  			 CSR_VERSION_MAJOR(csr->version),

and for the !dmc_payload case below we print:

    "Failed to load DMC firmware, disabling runtime power management."

explaining why we hold on to the reference in that case.

> @@ -439,6 +437,8 @@ static void csr_load_work_fn(struct work_struct *work)
>  	}
>  
>  	release_firmware(fw);
> +
> +	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
>  }
>  
>  /**
> -- 
> 2.19.1
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-16  9:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-16  1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
2018-10-16  1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
2018-10-16  2:04 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present Patchwork
2018-10-16  3:00 ` ✓ Fi.CI.IGT: " Patchwork
2018-10-16  8:16 ` [PATCH 1/2] " Chris Wilson
2018-10-16  9:22 ` Imre Deak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.