Commit 49062ee3 authored by Vijendar Mukunda's avatar Vijendar Mukunda Committed by Alex Deucher
Browse files

drm/amdgpu: add dmi check for jadeite platform



DMI check is required to distinguish Jadeite platform from
Stoney base variant.
Add DMI check logic for Jadeite platform.

Signed-off-by: default avatarVijendar Mukunda <Vijendar.Mukunda@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 748262eb
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@
#include <linux/platform_device.h>
#include <sound/designware_i2s.h>
#include <sound/pcm.h>
#include <linux/acpi.h>
#include <linux/dmi.h>

#include "amdgpu.h"
#include "atom.h"
@@ -36,6 +38,7 @@

#include "acp_gfx_if.h"

#define ST_JADEITE 1
#define ACP_TILE_ON_MASK			0x03
#define ACP_TILE_OFF_MASK			0x02
#define ACP_TILE_ON_RETAIN_REG_MASK		0x1f
@@ -85,6 +88,8 @@
#define ACP_DEVS				4
#define ACP_SRC_ID				162

static unsigned long acp_machine_id;

enum {
	ACP_TILE_P1 = 0,
	ACP_TILE_P2,
@@ -180,6 +185,37 @@ static int acp_genpd_remove_device(struct device *dev, void *data)
	return 0;
}

static int acp_quirk_cb(const struct dmi_system_id *id)
{
	acp_machine_id = ST_JADEITE;
	return 1;
}

static const struct dmi_system_id acp_quirk_table[] = {
	{
		.callback = acp_quirk_cb,
		.matches = {
			DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMD"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Jadeite"),
		}
	},
	{
		.callback = acp_quirk_cb,
		.matches = {
			DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "IP3 Technology CO.,Ltd."),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ASN1D"),
		},
	},
	{
		.callback = acp_quirk_cb,
		.matches = {
			DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Standard"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ASN10"),
		},
	},
	{}
};

/**
 * acp_hw_init - start and test ACP block
 *