Commit 96670b2b authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/display: add subplatform group for HSW/BDW ULT



Add support for defining aliases for subplatform groups, such as HSW/BDW
ULT that covers both ULT and ULX.

ULT is a special case, because we slightly abuse the ULT subplatform
both as a subplatform and group, but with the way this is defined, it
should be fairly clear.

This follows i915 core and IS_HASWELL_ULT()/IS_BROADWELL_ULT()
conventions, i.e. "is ULT" also matches ULX platforms.

Note: Pedantically, this should have been done earlier, but it's only
feasible now that we no longer have a subplatform enum and can actually
initialize multiple subplatforms.

v2: Use the subplatform group idea

Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/d148b6210a561b874642ae3e0ad10073d0615de7.1730144869.git.jani.nikula@intel.com


Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 97b4a61c
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -42,6 +42,13 @@ struct subplatform_desc {
	.platforms._platform##_##_subplatform = 1,			\
	.name = #_subplatform

/*
 * Group subplatform alias that matches multiple subplatforms. For making ult
 * cover both ult and ulx on HSW/BDW.
 */
#define SUBPLATFORM_GROUP(_platform, _subplatform)			\
	.platforms._platform##_##_subplatform = 1

struct platform_desc {
	struct intel_display_platforms platforms;
	const char *name;
@@ -511,12 +518,15 @@ static const u16 hsw_ulx_ids[] = {
static const struct platform_desc hsw_desc = {
	PLATFORM(haswell),
	.subplatforms = (const struct subplatform_desc[]) {
		/* Special case: Use ult both as group and subplatform. */
		{
			SUBPLATFORM(haswell, ult),
			SUBPLATFORM_GROUP(haswell, ult),
			.pciidlist = hsw_ult_ids,
		},
		{
			SUBPLATFORM(haswell, ulx),
			SUBPLATFORM_GROUP(haswell, ult),
			.pciidlist = hsw_ulx_ids,
		},
		{},
@@ -561,12 +571,15 @@ static const u16 bdw_ulx_ids[] = {
static const struct platform_desc bdw_desc = {
	PLATFORM(broadwell),
	.subplatforms = (const struct subplatform_desc[]) {
		/* Special case: Use ult both as group and subplatform. */
		{
			SUBPLATFORM(broadwell, ult),
			SUBPLATFORM_GROUP(broadwell, ult),
			.pciidlist = bdw_ult_ids,
		},
		{
			SUBPLATFORM(broadwell, ulx),
			SUBPLATFORM_GROUP(broadwell, ult),
			.pciidlist = bdw_ulx_ids,
		},
		{},