From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liu Ying Subject: Re: [PATCH 01/11] staging: drm/imx: also allow to allocate only 2 DMFC slots for DP full plane Date: Fri, 11 Oct 2013 15:12:47 +0800 Message-ID: <5257A4EF.1070808@freescale.com> References: <1381414726-13904-1-git-send-email-p.zabel@pengutronix.de> <1381414726-13904-2-git-send-email-p.zabel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from co9outboundpool.messaging.microsoft.com (co9ehsobe004.messaging.microsoft.com [207.46.163.27]) by gabe.freedesktop.org (Postfix) with ESMTP id CF713E5FA4 for ; Fri, 11 Oct 2013 00:27:01 -0700 (PDT) In-Reply-To: <1381414726-13904-2-git-send-email-p.zabel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Philipp Zabel Cc: devel@driverdev.osuosl.org, Fabio Estevam , kernel@pengutronix.de, dri-devel@lists.freedesktop.org, Greg Kroah-Hartman List-Id: dri-devel@lists.freedesktop.org Hi Philipp, On 10/10/2013 10:18 PM, Philipp Zabel wrote: > Connecting a 320x240 parallel display on i.MX6 resulted in an invalid DRDY > signal because the DC would not receive NL/EOL events on every line. > Reducing the allocated DMFC space from 4 slots (256 * 128-bit) to 2 slots > (128 * 128-bit) solved the problem. > > Signed-off-by: Philipp Zabel > --- > drivers/staging/imx-drm/ipu-v3/ipu-dmfc.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/imx-drm/ipu-v3/ipu-dmfc.c b/drivers/staging/imx-drm/ipu-v3/ipu-dmfc.c > index 2e97c33..98070dd 100644 > --- a/drivers/staging/imx-drm/ipu-v3/ipu-dmfc.c > +++ b/drivers/staging/imx-drm/ipu-v3/ipu-dmfc.c > @@ -307,13 +307,13 @@ int ipu_dmfc_alloc_bandwidth(struct dmfc_channel *dmfc, > goto out; > } > > - /* Always allocate at least 128*4 bytes (2 slots) */ > - if (slots < 2) > - slots = 2; > - > /* For the MEM_BG channel, first try to allocate twice the slots */ > if (dmfc->data->ipu_channel == IPUV3_CHANNEL_MEM_BG_SYNC) > segment = dmfc_find_slots(priv, slots * 2); > + else if (slots < 2) > + /* Always allocate at least 128*4 bytes (2 slots) */ The commit message mentions that the size of 2 slots is 128*128-bit, that is, 128*16-byte. This contradicts the above annotation(128*4 bytes (2 slots)). > + slots = 2; > + > if (segment >= 0) > slots *= 2; > else > Regards, Liu Ying