Commit 92dd0575 authored by Rob Clark's avatar Rob Clark
Browse files

Merge tag 'drm-msm-fixes-2023-01-16' into msm-fixes



Back-merge of previous cycles msm-fixes for kexec fix (to avoid merge
conflict)

Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parents dbd7a2a9 a66f1efc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -551,13 +551,14 @@ static int adreno_bind(struct device *dev, struct device *master, void *data)
	return 0;
}

static int adreno_system_suspend(struct device *dev);
static void adreno_unbind(struct device *dev, struct device *master,
		void *data)
{
	struct msm_drm_private *priv = dev_get_drvdata(master);
	struct msm_gpu *gpu = dev_to_gpu(dev);

	pm_runtime_force_suspend(dev);
	WARN_ON_ONCE(adreno_system_suspend(dev));
	gpu->funcs->destroy(gpu);

	priv->gpu_pdev = NULL;
@@ -609,7 +610,7 @@ static int adreno_remove(struct platform_device *pdev)

static void adreno_shutdown(struct platform_device *pdev)
{
	pm_runtime_force_suspend(&pdev->dev);
	WARN_ON_ONCE(adreno_system_suspend(&pdev->dev));
}

static const struct of_device_id dt_match[] = {
+4 −0
Original line number Diff line number Diff line
@@ -352,6 +352,8 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
		/* Ensure string is null terminated: */
		str[len] = '\0';

		mutex_lock(&gpu->lock);

		if (param == MSM_PARAM_COMM) {
			paramp = &ctx->comm;
		} else {
@@ -361,6 +363,8 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
		kfree(*paramp);
		*paramp = str;

		mutex_unlock(&gpu->lock);

		return 0;
	}
	case MSM_PARAM_SYSPROF:
+2 −0
Original line number Diff line number Diff line
@@ -335,6 +335,8 @@ static void get_comm_cmdline(struct msm_gem_submit *submit, char **comm, char **
	struct msm_file_private *ctx = submit->queue->ctx;
	struct task_struct *task;

	WARN_ON(!mutex_is_locked(&submit->gpu->lock));

	/* Note that kstrdup will return NULL if argument is NULL: */
	*comm = kstrdup(ctx->comm, GFP_KERNEL);
	*cmd  = kstrdup(ctx->cmdline, GFP_KERNEL);
+10 −2
Original line number Diff line number Diff line
@@ -375,10 +375,18 @@ struct msm_file_private {
	 */
	int sysprof;

	/** comm: Overridden task comm, see MSM_PARAM_COMM */
	/**
	 * comm: Overridden task comm, see MSM_PARAM_COMM
	 *
	 * Accessed under msm_gpu::lock
	 */
	char *comm;

	/** cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE */
	/**
	 * cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE
	 *
	 * Accessed under msm_gpu::lock
	 */
	char *cmdline;

	/**