[PATCH v3 05/32] drm/exynos: hdmi: Implement initialize op for hdmi
Sean Paul
seanpaul at chromium.org
Fri Nov 1 20:54:31 CET 2013
On Thu, Oct 31, 2013 at 7:53 PM, Tomasz Figa <tomasz.figa at gmail.com> wrote:
> Hi Sean,
>
> On Tuesday 29 of October 2013 12:12:51 Sean Paul wrote:
>> This patch implements the initialize callback in the hdmi and mixer
>> manager. This allows us to get rid of drm_dev in the drm_hdmi level and
>> track it in the mixer and hdmi drivers. This is one of the things
>> holding back the complete removal of the drm_hdmi layer.
>>
>> Signed-off-by: Sean Paul <seanpaul at chromium.org>
>> ---
>>
>> Changes in v2: None
>> Changes in v3: None
>>
>> drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 35
>> ++++++++++++++++++++++++++------
>> drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 3 ++-
>> drivers/gpu/drm/exynos/exynos_hdmi.c | 18 ++++++++++++----
>> drivers/gpu/drm/exynos/exynos_mixer.c | 35
>> +++++++++++++++++++------------- 4 files changed, 66 insertions(+), 25
>> deletions(-)
> [snip]
>> @@ -985,8 +991,7 @@ static struct exynos_mixer_ops mixer_ops = {
>>
>> static irqreturn_t mixer_irq_handler(int irq, void *arg)
>> {
>> - struct exynos_drm_hdmi_context *drm_hdmi_ctx = arg;
>> - struct mixer_context *ctx = drm_hdmi_ctx->ctx;
>> + struct mixer_context *ctx = arg;
>> struct mixer_resources *res = &ctx->mixer_res;
>> u32 val, base, shadow;
>>
>> @@ -995,6 +1000,9 @@ static irqreturn_t mixer_irq_handler(int irq, void
>> *arg) /* read interrupt status for handling and clearing flags for
>> VSYNC */ val = mixer_reg_read(res, MXR_INT_STATUS);
>>
>> + if (!ctx->drm_dev)
>> + goto out;
>
> The patch looks fine, but I'd like you to explain me in what conditions
> can this condition evaluate to true.
>
This can happen if there's a mixer interrupt before the intialize()
hook is called.
Sean
> Best regards,
> Tomasz
>
More information about the dri-devel
mailing list