Commit 5756c29b authored by Dave Airlie's avatar Dave Airlie
Browse files

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



drm/tegra: Changes for v5.19-rc1

Only a few fixes this time, and some debuggability improvements.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Thierry Reding <thierry.reding@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220506164004.3922226-1-thierry.reding@gmail.com
parents f83493f7 cb7e1abc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ static struct host1x_bo_mapping *tegra_bo_pin(struct device *dev, struct host1x_
		if (IS_ERR(map->sgt)) {
			dma_buf_detach(buf, map->attach);
			err = PTR_ERR(map->sgt);
			map->sgt = NULL;
			goto free;
		}

+2 −3
Original line number Diff line number Diff line
@@ -513,9 +513,8 @@ static int vic_remove(struct platform_device *pdev)
}

static const struct dev_pm_ops vic_pm_ops = {
	SET_RUNTIME_PM_OPS(vic_runtime_suspend, vic_runtime_resume, NULL)
	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
				pm_runtime_force_resume)
	RUNTIME_PM_OPS(vic_runtime_suspend, vic_runtime_resume, NULL)
	SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume)
};

struct platform_driver tegra_vic_driver = {
+7 −4
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ static int show_channel(struct host1x_channel *ch, void *data, bool show_fifo)
	return 0;
}

static void show_syncpts(struct host1x *m, struct output *o)
static void show_syncpts(struct host1x *m, struct output *o, bool show_all)
{
	struct list_head *pos;
	unsigned int i;
@@ -97,7 +97,10 @@ static void show_syncpts(struct host1x *m, struct output *o)
			waiters++;
		spin_unlock(&m->syncpt[i].intr.lock);

		if (!min && !max && !waiters)
		if (!kref_read(&m->syncpt[i].ref))
			continue;

		if (!show_all && !min && !max && !waiters)
			continue;

		host1x_debug_output(o,
@@ -124,7 +127,7 @@ static void show_all(struct host1x *m, struct output *o, bool show_fifo)
	unsigned int i;

	host1x_hw_show_mlocks(m, o);
	show_syncpts(m, o);
	show_syncpts(m, o, true);
	host1x_debug_output(o, "---- channels ----\n");

	for (i = 0; i < m->info->nb_channels; ++i) {
@@ -241,5 +244,5 @@ void host1x_debug_dump_syncpts(struct host1x *host1x)
		.fn = write_to_printk
	};

	show_syncpts(host1x, &o);
	show_syncpts(host1x, &o, false);
}
+2 −2
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ static unsigned int pin_job(struct host1x *host, struct host1x_job *job)
			goto unpin;
		}

		map = host1x_bo_pin(dev, bo, direction, &client->cache);
		map = host1x_bo_pin(dev, bo, direction, NULL);
		if (IS_ERR(map)) {
			err = PTR_ERR(map);
			goto unpin;
@@ -222,7 +222,7 @@ static unsigned int pin_job(struct host1x *host, struct host1x_job *job)
			goto unpin;
		}

		map = host1x_bo_pin(host->dev, g->bo, DMA_TO_DEVICE, &host->cache);
		map = host1x_bo_pin(host->dev, g->bo, DMA_TO_DEVICE, NULL);
		if (IS_ERR(map)) {
			err = PTR_ERR(map);
			goto unpin;
+6 −0
Original line number Diff line number Diff line
@@ -31,6 +31,11 @@ u64 host1x_get_dma_mask(struct host1x *host1x);
 * struct host1x_bo_cache - host1x buffer object cache
 * @mappings: list of mappings
 * @lock: synchronizes accesses to the list of mappings
 *
 * Note that entries are not periodically evicted from this cache and instead need to be
 * explicitly released. This is used primarily for DRM/KMS where the cache's reference is
 * released when the last reference to a buffer object represented by a mapping in this
 * cache is dropped.
 */
struct host1x_bo_cache {
	struct list_head mappings;
@@ -81,6 +86,7 @@ struct host1x_client_ops {
 * @parent: pointer to parent structure
 * @usecount: reference count for this structure
 * @lock: mutex for mutually exclusive concurrency
 * @cache: host1x buffer object cache
 */
struct host1x_client {
	struct list_head list;