From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Figa Subject: Re: [PATCH v3 05/32] drm/exynos: hdmi: Implement initialize op for hdmi Date: Fri, 01 Nov 2013 00:53:40 +0100 Message-ID: <32941501.gnCjUuNFa9@flatron> References: <1383063198-10526-1-git-send-email-seanpaul@chromium.org> <1383063198-10526-6-git-send-email-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ea0-f181.google.com (mail-ea0-f181.google.com [209.85.215.181]) by gabe.freedesktop.org (Postfix) with ESMTP id 010D1F00F6 for ; Thu, 31 Oct 2013 16:53:38 -0700 (PDT) Received: by mail-ea0-f181.google.com with SMTP id d10so1712106eaj.26 for ; Thu, 31 Oct 2013 16:53:38 -0700 (PDT) In-Reply-To: <1383063198-10526-6-git-send-email-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: Sean Paul Cc: dri-devel@lists.freedesktop.org, marcheu@chromium.org List-Id: dri-devel@lists.freedesktop.org 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 > --- > > 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. Best regards, Tomasz