[PATCH] drm: rcar-du: Make sure DRM planes are created by VSP1
jacopo mondi
jacopo at jmondi.org
Fri Mar 3 12:37:56 UTC 2017
HI Laurent,
On 03/03/2017 12:26, Laurent Pinchart wrote:
> Hi Jacopo,
>
> Thank you for the patch.
>
> On Friday 03 Mar 2017 09:09:38 Jacopo Mondi wrote:
>> On Gen3 platforms compositing planes are allocated by VSP on behalf of
>> DRM/KMS.
>> If VSP support is not compiled in, vsp1 initialization stub routine is
>> called, leading to invalid memory accesses later on when un-initialized
>> planes are accessed.
>>
>> Fail explicitly earlier if planes are not properly created.
>>
>> Signed-off-by: Jacopo Mondi <jacopo+renesas at jmondi.org>
>> ---
>> drivers/gpu/drm/rcar-du/rcar_du_kms.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index b5d3f16..7f56c09 100644
>> --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> @@ -616,6 +616,9 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu)
>> ret = rcar_du_vsp_init(vsp);
>> if (ret < 0)
>> return ret;
>> +
>> + if (!vsp->planes)
>> + return -EINVAL;
>
> Given that this code is only called when the DU hardware requires the VSP to
> operate, how about modifying the rcar_du_vsp_init() stub function to return -
> ENXIO instead of 0 ? That way you won't need to add an additional check here.
>
Ok, I'll make sure it is only called there also.
> Ideally we should require VSP through Kconfig as well. If you feel like
> submitting a patch (and testing it with various combinations of module and
> built-in) it would be appreciated.
That would be ideal.
Am I wrong or the condition that selects DRM_RCAR_VSP is (DRM_RCAR_DU &&
Gen3-platform)? Implying that on Gen2 DU can live without VSP enabled?
Thanks
j
>
>> }
>> }
>
More information about the dri-devel
mailing list