diff options
| -rw-r--r-- | drivers/gpu/ipu-v3/ipu-common.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c index 6a573d21d3cc..658fa2d3e40c 100644 --- a/drivers/gpu/ipu-v3/ipu-common.c +++ b/drivers/gpu/ipu-v3/ipu-common.c | |||
| @@ -405,6 +405,14 @@ int ipu_idmac_lock_enable(struct ipuv3_channel *channel, int num_bursts) | |||
| 405 | return -EINVAL; | 405 | return -EINVAL; |
| 406 | } | 406 | } |
| 407 | 407 | ||
| 408 | /* | ||
| 409 | * IPUv3EX / i.MX51 has a different register layout, and on IPUv3M / | ||
| 410 | * i.MX53 channel arbitration locking doesn't seem to work properly. | ||
| 411 | * Allow enabling the lock feature on IPUv3H / i.MX6 only. | ||
| 412 | */ | ||
| 413 | if (bursts && ipu->ipu_type != IPUV3H) | ||
| 414 | return -EINVAL; | ||
| 415 | |||
| 408 | for (i = 0; i < ARRAY_SIZE(idmac_lock_en_info); i++) { | 416 | for (i = 0; i < ARRAY_SIZE(idmac_lock_en_info); i++) { |
| 409 | if (channel->num == idmac_lock_en_info[i].chnum) | 417 | if (channel->num == idmac_lock_en_info[i].chnum) |
| 410 | break; | 418 | break; |
