Module Name:    src
Committed By:   riastradh
Date:           Sun Dec 19 12:01:31 UTC 2021

Modified Files:
        src/sys/external/bsd/drm2/amdgpu: files.amdgpu
        src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm: amdgpu_dm.c
            amdgpu_dm_hdcp.c amdgpu_dm_helpers.c

Log Message:
amdgpu: amdgpu_dm.c, amdgpu_dm_hdcp.c, amdgpu_dm_helpers.c


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/drm2/amdgpu/files.amdgpu
cvs rdiff -u -r1.2 -r1.3 \
    src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c \
    src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c \
    src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/amdgpu/files.amdgpu
diff -u src/sys/external/bsd/drm2/amdgpu/files.amdgpu:1.19 src/sys/external/bsd/drm2/amdgpu/files.amdgpu:1.20
--- src/sys/external/bsd/drm2/amdgpu/files.amdgpu:1.19	Sun Dec 19 12:00:00 2021
+++ src/sys/external/bsd/drm2/amdgpu/files.amdgpu	Sun Dec 19 12:01:30 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: files.amdgpu,v 1.19 2021/12/19 12:00:00 riastradh Exp $
+#	$NetBSD: files.amdgpu,v 1.20 2021/12/19 12:01:30 riastradh Exp $
 
 version	20180827
 
@@ -31,8 +31,10 @@ makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-
 makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-I$S/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm"
 makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-I$S/external/bsd/drm2/dist/drm/amd/display/dmub/inc"
 
-makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-DCONFIG_DRM_AMD_ACP"
-makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-DCONFIG_DRM_AMD_DC_DCN"
+makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-DCONFIG_DRM_AMD_ACP=1"
+makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-DCONFIG_DRM_AMD_DC_DCN=1"
+makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-DCONFIG_DRM_AMD_DC_HDCP=1"
+makeoptions	amdgpu	"CPPFLAGS.amdgpu"+="-DCONFIG_PERF_EVENTS=0"
 
 makeoptions	amdgpu	"CWARNFLAGS.amdgpu"+="-Wno-missing-field-initializers"
 makeoptions	amdgpu	"CWARNFLAGS.amdgpu"+="-Wno-missing-prototypes"

Index: src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c
diff -u src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1.2 src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1.2	Sat Dec 18 23:45:00 2021
+++ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c	Sun Dec 19 12:01:30 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: amdgpu_dm.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $	*/
+/*	$NetBSD: amdgpu_dm.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $	*/
 
 /*
  * Copyright 2015 Advanced Micro Devices, Inc.
@@ -27,7 +27,7 @@
 
 /* The caprices of the preprocessor require that this be declared right here */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $");
 
 #define CREATE_TRACE_POINTS
 
@@ -97,6 +97,8 @@ __KERNEL_RCSID(0, "$NetBSD: amdgpu_dm.c,
 #include "modules/power/power_helpers.h"
 #include "modules/inc/mod_info_packet.h"
 
+#include <linux/nbsd-namespace.h>
+
 #define FIRMWARE_RENOIR_DMUB "amdgpu/renoir_dmcub.bin"
 MODULE_FIRMWARE(FIRMWARE_RENOIR_DMUB);
 
@@ -617,6 +619,7 @@ static void amdgpu_dm_fbc_init(struct dr
 
 }
 
+#ifndef __NetBSD__		/* XXX amdgpu audio */
 static int amdgpu_dm_audio_component_get_eld(struct device *kdev, int port,
 					  int pipe, bool *enabled,
 					  unsigned char *buf, int max_bytes)
@@ -687,6 +690,7 @@ static const struct component_ops amdgpu
 	.bind	= amdgpu_dm_audio_component_bind,
 	.unbind	= amdgpu_dm_audio_component_unbind,
 };
+#endif
 
 static int amdgpu_dm_audio_init(struct amdgpu_device *adev)
 {
@@ -711,9 +715,13 @@ static int amdgpu_dm_audio_init(struct a
 		adev->mode_info.audio.pin[i].offset = 0;
 	}
 
+#ifdef __NetBSD__		/* XXX amdgpu audio */
+	__USE(ret);
+#else
 	ret = component_add(adev->dev, &amdgpu_dm_audio_component_bind_ops);
 	if (ret < 0)
 		return ret;
+#endif
 
 	adev->dm.audio_registered = true;
 
@@ -729,7 +737,9 @@ static void amdgpu_dm_audio_fini(struct 
 		return;
 
 	if (adev->dm.audio_registered) {
+#ifndef __NetBSD__		/* XXX amdgpu audio */
 		component_del(adev->dev, &amdgpu_dm_audio_component_bind_ops);
+#endif
 		adev->dm.audio_registered = false;
 	}
 
@@ -2448,7 +2458,7 @@ static int amdgpu_dm_mode_config_init(st
 
 	adev->mode_info.mode_config_initialized = true;
 
-	adev->ddev->mode_config.funcs = (void *)&amdgpu_dm_mode_funcs;
+	adev->ddev->mode_config.funcs = &amdgpu_dm_mode_funcs;
 	adev->ddev->mode_config.helper_private = &amdgpu_dm_mode_config_helperfuncs;
 
 	adev->ddev->mode_config.max_width = 16384;
@@ -2492,12 +2502,12 @@ static int amdgpu_dm_mode_config_init(st
 #define AMDGPU_DM_DEFAULT_MIN_BACKLIGHT 12
 #define AMDGPU_DM_DEFAULT_MAX_BACKLIGHT 255
 
-#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\
-	defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
+#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\
+	IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
 
 static void amdgpu_dm_update_backlight_caps(struct amdgpu_display_manager *dm)
 {
-#if defined(CONFIG_ACPI)
+#if IS_ENABLED(CONFIG_ACPI)
 	struct amdgpu_dm_backlight_caps caps;
 
 	if (dm->backlight_caps.caps_valid)
@@ -2640,8 +2650,8 @@ static int initialize_plane(struct amdgp
 static void register_backlight_device(struct amdgpu_display_manager *dm,
 				      struct dc_link *link)
 {
-#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\
-	defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
+#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\
+	IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
 
 	if ((link->connector_signal & (SIGNAL_TYPE_EDP | SIGNAL_TYPE_LVDS)) &&
 	    link->type != dc_connection_none) {
@@ -3759,7 +3769,7 @@ static void fill_stream_properties_from_
 {
 	struct dc_crtc_timing *timing_out = &stream->timing;
 	const struct drm_display_info *info = &connector->display_info;
-	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
+	const struct amdgpu_dm_connector *aconnector = const_container_of(connector, struct amdgpu_dm_connector, base);
 	struct hdmi_vendor_infoframe hv_frame;
 	struct hdmi_avi_infoframe avi_frame;
 
@@ -3803,9 +3813,9 @@ static void fill_stream_properties_from_
 	}
 
 	if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A) {
-		drm_hdmi_avi_infoframe_from_display_mode(&avi_frame, (struct drm_connector *)connector, mode_in);
+		drm_hdmi_avi_infoframe_from_display_mode(&avi_frame, __UNCONST(connector), mode_in);
 		timing_out->vic = avi_frame.video_code;
-		drm_hdmi_vendor_infoframe_from_display_mode(&hv_frame, (struct drm_connector *)connector, mode_in);
+		drm_hdmi_vendor_infoframe_from_display_mode(&hv_frame, __UNCONST(connector), mode_in);
 		timing_out->hdmi_vic = hv_frame.vic;
 	}
 
@@ -4365,8 +4375,8 @@ int amdgpu_dm_connector_atomic_get_prope
 {
 	struct drm_device *dev = connector->dev;
 	struct amdgpu_device *adev = dev->dev_private;
-	struct dm_connector_state *dm_state =
-		to_dm_connector_state(state);
+	const struct dm_connector_state *dm_state =
+		const_container_of(state, struct dm_connector_state, base);
 	int ret = -EINVAL;
 
 	if (property == dev->mode_config.scaling_mode_property) {
@@ -4417,8 +4427,8 @@ static void amdgpu_dm_connector_destroy(
 	struct amdgpu_device *adev = connector->dev->dev_private;
 	struct amdgpu_display_manager *dm = &adev->dm;
 
-#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\
-	defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
+#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\
+	IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
 
 	if ((link->connector_signal & (SIGNAL_TYPE_EDP | SIGNAL_TYPE_LVDS)) &&
 	    link->type != dc_connection_none &&
@@ -4426,6 +4436,9 @@ static void amdgpu_dm_connector_destroy(
 		backlight_device_unregister(dm->backlight_dev);
 		dm->backlight_dev = NULL;
 	}
+#else
+	__USE(dm);
+	__USE(link);
 #endif
 
 	if (aconnector->dc_em_sink)
@@ -4968,7 +4981,7 @@ static int dm_update_mst_vcpi_slots_for_
 {
 	struct dc_stream_state *stream = NULL;
 	struct drm_connector *connector;
-	struct drm_connector_state *new_con_state, *old_con_state;
+	struct drm_connector_state *new_con_state, *old_con_state __unused;
 	struct amdgpu_dm_connector *aconnector;
 	struct dm_connector_state *dm_conn_state;
 	int i, j, clock, bpp;
@@ -5773,7 +5786,7 @@ create_i2c(struct ddc_service *ddc_servi
 		return NULL;
 	i2c->base.owner = THIS_MODULE;
 	i2c->base.class = I2C_CLASS_DDC;
-	i2c->base.dev.parent = &adev->pdev->dev;
+	i2c->base.dev.parent = pci_dev_dev(adev->pdev);
 	i2c->base.algo = &amdgpu_dm_i2c_algo;
 	snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c hw bus %d", link_index);
 	i2c_set_adapdata(&i2c->base, i2c);
@@ -5960,7 +5973,7 @@ static bool is_content_protection_differ
 					    const struct drm_connector_state *old_state,
 					    const struct drm_connector *connector, struct hdcp_workqueue *hdcp_w)
 {
-	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
+	const struct amdgpu_dm_connector *aconnector = const_container_of(connector, struct amdgpu_dm_connector, base);
 
 	if (old_state->hdcp_content_type != state->hdcp_content_type &&
 	    state->content_protection != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
@@ -6300,7 +6313,7 @@ static void amdgpu_dm_handle_vrr_transit
 static void amdgpu_dm_commit_cursors(struct drm_atomic_state *state)
 {
 	struct drm_plane *plane;
-	struct drm_plane_state *old_plane_state, *new_plane_state;
+	struct drm_plane_state *old_plane_state, *new_plane_state __unused;
 	int i;
 
 	/*
Index: src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
diff -u src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c:1.2 src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c:1.2	Sat Dec 18 23:45:00 2021
+++ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c	Sun Dec 19 12:01:30 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: amdgpu_dm_hdcp.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $	*/
+/*	$NetBSD: amdgpu_dm_hdcp.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $	*/
 
 /*
  * Copyright 2019 Advanced Micro Devices, Inc.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_hdcp.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_hdcp.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $");
 
 #include "amdgpu_dm_hdcp.h"
 #include "amdgpu.h"
@@ -34,12 +34,14 @@ __KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_hd
 #include "dm_helpers.h"
 #include <drm/drm_hdcp.h>
 
+#include <linux/nbsd-namespace.h>
+
 static bool
 lp_write_i2c(void *handle, uint32_t address, const uint8_t *data, uint32_t size)
 {
 
 	struct dc_link *link = handle;
-	struct i2c_payload i2c_payloads[] = {{true, address, size, (void *)data} };
+	struct i2c_payload i2c_payloads[] = {{true, address, size, __UNCONST(data)} };
 	struct i2c_command cmd = {i2c_payloads, 1, I2C_COMMAND_ENGINE_HW, link->dc->caps.i2c_speed_in_khz};
 
 	return dm_helpers_submit_i2c(link->ctx, link, &cmd);
Index: src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
diff -u src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c:1.2 src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c:1.2	Sat Dec 18 23:45:00 2021
+++ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c	Sun Dec 19 12:01:30 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: amdgpu_dm_helpers.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $	*/
+/*	$NetBSD: amdgpu_dm_helpers.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $	*/
 
 /*
  * Copyright 2015 Advanced Micro Devices, Inc.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_helpers.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_helpers.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $");
 
 #include <linux/string.h>
 #include <linux/acpi.h>
@@ -60,7 +60,7 @@ enum dc_edid_status dm_helpers_parse_edi
 		const struct dc_edid *edid,
 		struct dc_edid_caps *edid_caps)
 {
-	struct edid *edid_buf = (struct edid *) edid->raw_edid;
+	struct edid *edid_buf = (struct edid *) __UNCONST(edid->raw_edid);
 	struct cea_sad *sads;
 	int sad_count = -1;
 	int sadb_count = -1;
@@ -100,9 +100,9 @@ enum dc_edid_status dm_helpers_parse_edi
 	}
 
 	edid_caps->edid_hdmi = drm_detect_hdmi_monitor(
-			(struct edid *) edid->raw_edid);
+			(struct edid *) __UNCONST(edid->raw_edid));
 
-	sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads);
+	sad_count = drm_edid_to_sad((struct edid *) __UNCONST(edid->raw_edid), &sads);
 	if (sad_count <= 0)
 		return result;
 
@@ -116,7 +116,7 @@ enum dc_edid_status dm_helpers_parse_edi
 		edid_caps->audio_modes[i].sample_size = sad->byte2;
 	}
 
-	sadb_count = drm_edid_to_speaker_allocation((struct edid *) edid->raw_edid, &sadb);
+	sadb_count = drm_edid_to_speaker_allocation((struct edid *) __UNCONST(edid->raw_edid), &sadb);
 
 	if (sadb_count < 0) {
 		DRM_ERROR("Couldn't read Speaker Allocation Data Block: %d\n", sadb_count);
@@ -473,7 +473,7 @@ bool dm_helpers_dp_write_dpcd(
 	}
 
 	return drm_dp_dpcd_write(&aconnector->dm_dp_aux.aux,
-			address, (uint8_t *)data, size) > 0;
+			address, __UNCONST(data), size) > 0;
 }
 
 bool dm_helpers_submit_i2c(

Reply via email to