On Thu, Oct 31, 2013 at 7:53 PM, Tomasz Figa <tomasz.figa@xxxxxxxxx> 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@xxxxxxxxxxxx> >> --- >> >> 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 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel