Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpu: host1x: Add MLOCK recovery for rest of engines

Add class IDs / MLOCKs for MLOCK recovery for rest of engines
present on Tegra234.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240425050238.2943404-4-cyndis@kapsi.fi

authored by

Mikko Perttunen and committed by
Thierry Reding
57d298bd 4e90b03a

+17
+12
drivers/gpu/host1x/hw/cdma_hw.c
··· 254 254 u32 offset; 255 255 256 256 switch (ch->client->class) { 257 + case HOST1X_CLASS_NVJPG1: 258 + offset = HOST1X_COMMON_NVJPG1_MLOCK; 259 + break; 260 + case HOST1X_CLASS_NVENC: 261 + offset = HOST1X_COMMON_NVENC_MLOCK; 262 + break; 257 263 case HOST1X_CLASS_VIC: 258 264 offset = HOST1X_COMMON_VIC_MLOCK; 259 265 break; 266 + case HOST1X_CLASS_NVJPG: 267 + offset = HOST1X_COMMON_NVJPG_MLOCK; 268 + break; 260 269 case HOST1X_CLASS_NVDEC: 261 270 offset = HOST1X_COMMON_NVDEC_MLOCK; 271 + break; 272 + case HOST1X_CLASS_OFA: 273 + offset = HOST1X_COMMON_OFA_MLOCK; 262 274 break; 263 275 default: 264 276 WARN(1, "%s was not updated for class %u", __func__, ch->client->class);
+5
include/linux/host1x.h
··· 14 14 15 15 enum host1x_class { 16 16 HOST1X_CLASS_HOST1X = 0x1, 17 + HOST1X_CLASS_NVJPG1 = 0x7, 18 + HOST1X_CLASS_NVENC = 0x21, 19 + HOST1X_CLASS_NVENC1 = 0x22, 17 20 HOST1X_CLASS_GR2D = 0x51, 18 21 HOST1X_CLASS_GR2D_SB = 0x52, 19 22 HOST1X_CLASS_VIC = 0x5D, 20 23 HOST1X_CLASS_GR3D = 0x60, 24 + HOST1X_CLASS_NVJPG = 0xC0, 21 25 HOST1X_CLASS_NVDEC = 0xF0, 22 26 HOST1X_CLASS_NVDEC1 = 0xF5, 27 + HOST1X_CLASS_OFA = 0xF8, 23 28 }; 24 29 25 30 struct host1x;