From: Maxime Ripard <mripard@kernel.org>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: "Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
"Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
"Dmitry Baryshkov" <lumag@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Rob Herring" <robh@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
kernel@collabora.com, amd-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
linux-doc@vger.kernel.org, "Andri Yngvason" <andri@yngvason.is>,
"Werner Sembach" <wse@tuxedocomputers.com>,
"Marius Vlad" <marius.vlad@collabora.com>
Subject: Re: [PATCH v8 02/20] drm: Add new general DRM property "color format"
Date: Tue, 24 Feb 2026 10:03:37 +0100 [thread overview]
Message-ID: <20260224-rustling-provocative-lemming-b2ed2f@houat> (raw)
In-Reply-To: <3b5e5af4219671c5b4ffdcb09bd22679332244ac@intel.com>
[-- Attachment #1: Type: text/plain, Size: 4793 bytes --]
Hi Jani,
On Mon, Feb 23, 2026 at 06:17:23PM +0200, Jani Nikula wrote:
> On Mon, 16 Feb 2026, Nicolas Frattaroli <nicolas.frattaroli@collabora.com> wrote:
> > +/**
> > + * enum drm_color_format_enum - color model description
> > + *
> > + * This enum is a high-level description of the component makeup of the image
> > + * data. It says nothing about how the components are ordered or how many bits
> > + * they take up (i.e. is unlike MEDIA_BUS_FMT\_ or DRM_FORMAT\_), but
> > + * describes the type of components (Luminance-Chrominance vs. RGB) and the
> > + * sub-sampling.
> > + *
> > + * &enum drm_color_format_enum makes statements about the same attribute of
> > + * an image as the DRM_COLOR_FORMAT\_ bitfields do. Its purpose is to inform
> > + * choices made by display protocol specific implementations when it comes to
> > + * translating it to e.g. &enum hdmi_colorspace or &enum dp_pixelformat, both
> > + * of which also describe the same attribute of the image at the same level of
> > + * specificity.
> > + *
> > + * In precise terms, this enum describes a color model. It makes no statements
> > + * about the primaries, gamma, or current phase of the moon used in conversion
> > + * from one to the other. Furthermore, it also makes no statements about the
> > + * order of components (e.g. RGB vs. BGR), their depth in bits, or their binary
> > + * packing.
> > + */
> > +enum drm_color_format_enum {
>
> The enum name should not have "enum" in it. That's just not a style
> that's being used.
>
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_AUTO: The choice of format is left up to the
> > + * display protocol implementation. All implementations of the same
> > + * display protocol (e.g. HDMI) are supposed to behave the same way,
> > + * though display protocols may choose to behave differently compared to
> > + * each other (e.g. HDMI's "AUTO" does not have to match DP's "AUTO").
> > + *
> > + * Implementations may rely on @DRM_COLOR_FORMAT_ENUM_AUTO to be falsy.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_AUTO = 0,
>
> Ditto for the enumeration names, no ENUM in them please.
>
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_RGB444: Image components are encoded as RGB
> > + * values of equal resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_RGB444,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_YCBCR444: Image components are encoded as
> > + * luminance and chrominance of equal resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_YCBCR444,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_YCBCR422: Image components are encoded as
> > + * luminance and chrominance with the chrominance components having half
> > + * the horizontal resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_YCBCR422,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_YCBCR420: Image components are encoded as
> > + * luminance and chrominance with the chrominance components having half
> > + * the horizontal and vertical resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_YCBCR420,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_NUM: The number of valid color format values
> > + * in this enum. Itself not a valid color format.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_NUM,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_INVALID: Error return value for conversion
> > + * functions encountering unexpected inputs.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_INVALID = -EINVAL,
>
> Please don't hide negative error codes inside enums. If you need to
> return one from a function, please return the negative error code
> directly instead.
>
> > +};
> > +
> > +/*
> > + * Constants for specifying bit masks for e.g. providing a list of supported
> > + * color formats as a single integer.
> > + */
> > +#define DRM_COLOR_FORMAT_RGB444 BIT(0)
> > +#define DRM_COLOR_FORMAT_YCBCR444 BIT(1)
> > +#define DRM_COLOR_FORMAT_YCBCR422 BIT(2)
> > +#define DRM_COLOR_FORMAT_YCBCR420 BIT(3)
>
> I don't think we should define both enum and mask. One or the
> other. Moreover, now you have two independent definitions for the same
> thing, with nothing to ensure they keep matching. It's a bug waiting to
> happen.
>
> I think the problem is that they were originally defined as bits even
> though most places actually use them as single values only. It's
> confusing. It would probably have been better to just use enums and
> BIT(DRM_COLOR_FORMAT_*) where a mask is needed.
>
> Maybe that's what should be done as the first step anyway.
I largely agree with the sentiment, and can extend it to the
HDMI_COLORSPACE used in drm_connector_hdmi_state.
I've been working since yesterday on fixing that up to make Nicolas'
life easier. I'll post it sometime today.
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <mripard@kernel.org>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: "Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
"Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
"Dmitry Baryshkov" <lumag@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Rob Herring" <robh@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
kernel@collabora.com, amd-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
linux-doc@vger.kernel.org, "Andri Yngvason" <andri@yngvason.is>,
"Werner Sembach" <wse@tuxedocomputers.com>,
"Marius Vlad" <marius.vlad@collabora.com>
Subject: Re: [PATCH v8 02/20] drm: Add new general DRM property "color format"
Date: Tue, 24 Feb 2026 10:03:37 +0100 [thread overview]
Message-ID: <20260224-rustling-provocative-lemming-b2ed2f@houat> (raw)
In-Reply-To: <3b5e5af4219671c5b4ffdcb09bd22679332244ac@intel.com>
[-- Attachment #1.1: Type: text/plain, Size: 4793 bytes --]
Hi Jani,
On Mon, Feb 23, 2026 at 06:17:23PM +0200, Jani Nikula wrote:
> On Mon, 16 Feb 2026, Nicolas Frattaroli <nicolas.frattaroli@collabora.com> wrote:
> > +/**
> > + * enum drm_color_format_enum - color model description
> > + *
> > + * This enum is a high-level description of the component makeup of the image
> > + * data. It says nothing about how the components are ordered or how many bits
> > + * they take up (i.e. is unlike MEDIA_BUS_FMT\_ or DRM_FORMAT\_), but
> > + * describes the type of components (Luminance-Chrominance vs. RGB) and the
> > + * sub-sampling.
> > + *
> > + * &enum drm_color_format_enum makes statements about the same attribute of
> > + * an image as the DRM_COLOR_FORMAT\_ bitfields do. Its purpose is to inform
> > + * choices made by display protocol specific implementations when it comes to
> > + * translating it to e.g. &enum hdmi_colorspace or &enum dp_pixelformat, both
> > + * of which also describe the same attribute of the image at the same level of
> > + * specificity.
> > + *
> > + * In precise terms, this enum describes a color model. It makes no statements
> > + * about the primaries, gamma, or current phase of the moon used in conversion
> > + * from one to the other. Furthermore, it also makes no statements about the
> > + * order of components (e.g. RGB vs. BGR), their depth in bits, or their binary
> > + * packing.
> > + */
> > +enum drm_color_format_enum {
>
> The enum name should not have "enum" in it. That's just not a style
> that's being used.
>
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_AUTO: The choice of format is left up to the
> > + * display protocol implementation. All implementations of the same
> > + * display protocol (e.g. HDMI) are supposed to behave the same way,
> > + * though display protocols may choose to behave differently compared to
> > + * each other (e.g. HDMI's "AUTO" does not have to match DP's "AUTO").
> > + *
> > + * Implementations may rely on @DRM_COLOR_FORMAT_ENUM_AUTO to be falsy.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_AUTO = 0,
>
> Ditto for the enumeration names, no ENUM in them please.
>
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_RGB444: Image components are encoded as RGB
> > + * values of equal resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_RGB444,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_YCBCR444: Image components are encoded as
> > + * luminance and chrominance of equal resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_YCBCR444,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_YCBCR422: Image components are encoded as
> > + * luminance and chrominance with the chrominance components having half
> > + * the horizontal resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_YCBCR422,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_YCBCR420: Image components are encoded as
> > + * luminance and chrominance with the chrominance components having half
> > + * the horizontal and vertical resolution.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_YCBCR420,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_NUM: The number of valid color format values
> > + * in this enum. Itself not a valid color format.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_NUM,
> > +
> > + /**
> > + * @DRM_COLOR_FORMAT_ENUM_INVALID: Error return value for conversion
> > + * functions encountering unexpected inputs.
> > + */
> > + DRM_COLOR_FORMAT_ENUM_INVALID = -EINVAL,
>
> Please don't hide negative error codes inside enums. If you need to
> return one from a function, please return the negative error code
> directly instead.
>
> > +};
> > +
> > +/*
> > + * Constants for specifying bit masks for e.g. providing a list of supported
> > + * color formats as a single integer.
> > + */
> > +#define DRM_COLOR_FORMAT_RGB444 BIT(0)
> > +#define DRM_COLOR_FORMAT_YCBCR444 BIT(1)
> > +#define DRM_COLOR_FORMAT_YCBCR422 BIT(2)
> > +#define DRM_COLOR_FORMAT_YCBCR420 BIT(3)
>
> I don't think we should define both enum and mask. One or the
> other. Moreover, now you have two independent definitions for the same
> thing, with nothing to ensure they keep matching. It's a bug waiting to
> happen.
>
> I think the problem is that they were originally defined as bits even
> though most places actually use them as single values only. It's
> confusing. It would probably have been better to just use enums and
> BIT(DRM_COLOR_FORMAT_*) where a mask is needed.
>
> Maybe that's what should be done as the first step anyway.
I largely agree with the sentiment, and can extend it to the
HDMI_COLORSPACE used in drm_connector_hdmi_state.
I've been working since yesterday on fixing that up to make Nicolas'
life easier. I'll post it sometime today.
Maxime
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2026-02-24 9:03 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-16 13:01 [PATCH v8 00/20] Add new general DRM property "color format" Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 01/20] drm/amd/display: Remove unnecessary SIGNAL_TYPE_HDMI_TYPE_A check Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 02/20] drm: Add new general DRM property "color format" Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-23 16:17 ` Jani Nikula
2026-02-23 16:17 ` Jani Nikula
2026-02-24 9:03 ` Maxime Ripard [this message]
2026-02-24 9:03 ` Maxime Ripard
2026-02-24 14:38 ` Maxime Ripard
2026-02-24 14:38 ` Maxime Ripard
2026-02-16 13:01 ` [PATCH v8 03/20] drm: Add enum conversions for drm_color_format_enum Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-24 14:39 ` Maxime Ripard
2026-02-24 14:39 ` Maxime Ripard
2026-02-16 13:01 ` [PATCH v8 04/20] drm/bridge: Act on the DRM color format property Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 05/20] drm/display: hdmi-state-helper: Act on color format DRM property Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-24 14:41 ` Maxime Ripard
2026-02-24 14:41 ` Maxime Ripard
2026-02-16 13:01 ` [PATCH v8 06/20] drm/display: hdmi-state-helper: Try subsampling in mode_valid Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-23 10:58 ` Maxime Ripard
2026-02-23 10:58 ` Maxime Ripard
2026-02-16 13:01 ` [PATCH v8 07/20] drm/i915: Implement the "color format" DRM property Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 08/20] drm/amdgpu: Implement " Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 09/20] drm/rockchip: Add YUV422 output mode constants for VOP2 Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 10/20] drm/rockchip: vop2: Add RK3576 to the RG swap special case Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 11/20] drm/rockchip: vop2: Recognise 10-bit YUV422 as YUV format Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 12/20] drm/rockchip: vop2: Set correct output format for RK3576 YUV422 Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 13/20] drm/bridge: dw-hdmi-qp: Implement atomic_get_output_bus_fmts Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-22 10:42 ` Cristian Ciocaltea
2026-02-22 10:42 ` Cristian Ciocaltea
2026-02-23 11:21 ` Nicolas Frattaroli
2026-02-23 11:21 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 14/20] drm/rockchip: dw_hdmi_qp: Implement "color format" DRM property Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 15/20] drm/rockchip: dw_hdmi_qp: Set supported_formats platdata Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 16/20] drm/connector: Register color format property on HDMI connectors Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 17/20] drm/tests: hdmi: Add tests for the color_format property Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 18/20] drm/tests: hdmi: Add tests for HDMI helper's mode_valid Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 19/20] drm/tests: bridge: Add KUnit tests for bridge chain format selection Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 13:01 ` [PATCH v8 20/20] drm/bridge: Document " Nicolas Frattaroli
2026-02-16 13:01 ` Nicolas Frattaroli
2026-02-16 20:36 ` Randy Dunlap
2026-02-16 20:36 ` Randy Dunlap
2026-02-16 13:14 ` ✗ CI.checkpatch: warning for Add new general DRM property "color format" (rev5) Patchwork
2026-02-16 13:15 ` ✓ CI.KUnit: success " Patchwork
2026-02-16 13:31 ` ✗ CI.checksparse: warning " Patchwork
2026-02-16 13:51 ` ✓ Xe.CI.BAT: success " Patchwork
2026-02-16 13:55 ` ✓ i915.CI.BAT: " Patchwork
2026-02-16 15:33 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-16 16:04 ` ✓ i915.CI.Full: success " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260224-rustling-provocative-lemming-b2ed2f@houat \
--to=mripard@kernel.org \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andri@yngvason.is \
--cc=andrzej.hajda@intel.com \
--cc=andy.yan@rock-chips.com \
--cc=christian.koenig@amd.com \
--cc=corbet@lwn.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kernel@collabora.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lumag@kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marius.vlad@collabora.com \
--cc=neil.armstrong@linaro.org \
--cc=nicolas.frattaroli@collabora.com \
--cc=rfoss@kernel.org \
--cc=robh@kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=s.hauer@pengutronix.de \
--cc=simona@ffwll.ch \
--cc=siqueira@igalia.com \
--cc=sunpeng.li@amd.com \
--cc=tursulin@ursulin.net \
--cc=tzimmermann@suse.de \
--cc=wse@tuxedocomputers.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.