Commit 8904a1e2 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

Merge tag 'drm/tegra/for-6.4-rc1' of https://gitlab.freedesktop.org/drm/tegra into drm-next



drm/tegra: Changes for v6.4-rc1

The majority of this is minor cleanups and fixes. Other than those, this
contains Uwe's conversion to the new driver remove callback and Thomas'
fbdev DRM client conversion. The driver can now also be built on other
architectures to easy compile coverage.

Finally, this adds Mikko as a second maintainer for the driver. As a
next step we also want Tegra DRM to move into drm-misc to streamline the
maintenance process.

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
From: Thierry Reding <thierry.reding@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230406121404.967704-1-thierry.reding@gmail.com
parents 52b113e9 2429b3c5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6933,6 +6933,7 @@ F: drivers/phy/mediatek/phy-mtk-mipi*
DRM DRIVERS FOR NVIDIA TEGRA
M:	Thierry Reding <thierry.reding@gmail.com>
M:	Mikko Perttunen <mperttunen@nvidia.com>
L:	dri-devel@lists.freedesktop.org
L:	linux-tegra@vger.kernel.org
S:	Supported
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
config DRM_TEGRA
	tristate "NVIDIA Tegra DRM"
	depends on ARCH_TEGRA || (ARM && COMPILE_TEST)
	depends on ARCH_TEGRA || COMPILE_TEST
	depends on COMMON_CLK
	depends on DRM
	depends on OF
+2 −0
Original line number Diff line number Diff line
@@ -29,4 +29,6 @@ tegra-drm-y := \

tegra-drm-y += trace.o

tegra-drm-$(CONFIG_DRM_FBDEV_EMULATION) += fbdev.o

obj-$(CONFIG_DRM_TEGRA) += tegra-drm.o
+4 −18
Original line number Diff line number Diff line
@@ -2381,7 +2381,6 @@ static int tegra_crtc_calculate_memory_bandwidth(struct drm_crtc *crtc,
	const struct tegra_plane_state *tegra_state;
	const struct drm_plane_state *plane_state;
	struct tegra_dc *dc = to_tegra_dc(crtc);
	const struct drm_crtc_state *old_state;
	struct drm_crtc_state *new_state;
	struct tegra_plane *tegra;
	struct drm_plane *plane;
@@ -2396,7 +2395,6 @@ static int tegra_crtc_calculate_memory_bandwidth(struct drm_crtc *crtc,
		return 0;

	new_state = drm_atomic_get_new_crtc_state(state, crtc);
	old_state = drm_atomic_get_old_crtc_state(state, crtc);

	/*
	 * For overlapping planes pixel's data is fetched for each plane at
@@ -3263,27 +3261,15 @@ static int tegra_dc_probe(struct platform_device *pdev)
	return err;
}

static int tegra_dc_remove(struct platform_device *pdev)
static void tegra_dc_remove(struct platform_device *pdev)
{
	struct tegra_dc *dc = platform_get_drvdata(pdev);
	int err;

	err = host1x_client_unregister(&dc->client);
	if (err < 0) {
		dev_err(&pdev->dev, "failed to unregister host1x client: %d\n",
			err);
		return err;
	}
	host1x_client_unregister(&dc->client);

	err = tegra_dc_rgb_remove(dc);
	if (err < 0) {
		dev_err(&pdev->dev, "failed to remove RGB output: %d\n", err);
		return err;
	}
	tegra_dc_rgb_remove(dc);

	pm_runtime_disable(&pdev->dev);

	return 0;
}

struct platform_driver tegra_dc_driver = {
@@ -3292,5 +3278,5 @@ struct platform_driver tegra_dc_driver = {
		.of_match_table = tegra_dc_of_match,
	},
	.probe = tegra_dc_probe,
	.remove = tegra_dc_remove,
	.remove_new = tegra_dc_remove,
};
+1 −1
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ void tegra_crtc_atomic_post_commit(struct drm_crtc *crtc,

/* from rgb.c */
int tegra_dc_rgb_probe(struct tegra_dc *dc);
int tegra_dc_rgb_remove(struct tegra_dc *dc);
void tegra_dc_rgb_remove(struct tegra_dc *dc);
int tegra_dc_rgb_init(struct drm_device *drm, struct tegra_dc *dc);
int tegra_dc_rgb_exit(struct tegra_dc *dc);

Loading