From: "Noralf Trønnes" <noralf@tronnes.org>
To: David Lechner <david@lechnology.com>, dri-devel@lists.freedesktop.org
Cc: David Airlie <airlied@linux.ie>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/tinydrm: mipi-dbi: Fix unbalanced DMA access
Date: Fri, 4 Aug 2017 08:49:52 +0200 [thread overview]
Message-ID: <8954ef28-26dc-df6c-014c-34b0ce5fdbfb@tronnes.org> (raw)
In-Reply-To: <51efe719-566f-6761-9b39-c4cdfdba7a3c@lechnology.com>
Den 04.08.2017 00.41, skrev David Lechner:
> On 08/01/2017 03:14 PM, David Lechner wrote:
>> If we return here and import_attach is true, then
>> dma_buf_end_cpu_access()
>> will not be called balance dma_buf_begin_cpu_access().
>>
>> Fix by setting ret instead of returning.
>>
>> Signed-off-by: David Lechner <david@lechnology.com>
>> ---
>> drivers/gpu/drm/tinydrm/mipi-dbi.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c
>> b/drivers/gpu/drm/tinydrm/mipi-dbi.c
>> index c83eeb7..e10fa4b 100644
>> --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c
>> +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c
>> @@ -183,7 +183,8 @@ static int mipi_dbi_buf_copy(void *dst, struct
>> drm_framebuffer *fb,
>> dev_err_once(fb->dev->dev, "Format is not supported: %s\n",
>> drm_get_format_name(fb->format->format,
>> &format_name));
>> - return -EINVAL;
>> + ret = -EINVAL;
>> + break;
>> }
>> if (import_attach)
>>
>
>
> I just realized that the next line here can mask ret.
>
>
> if (import_attach)
> ret = dma_buf_end_cpu_access(import_attach->dmabuf,
> DMA_FROM_DEVICE);
>
> So, we should either ignore the return value from
> dma_buf_end_cpu_access() always or add some logic to ignore it if ret
> is already an error.
>
> In some of the other patches I have been sending, we have the same
> situation. I those, I have opted to just ignore the return value from
> dma_buf_end_cpu_access(). e.g...
>
>
> if (import_attach)
> dma_buf_end_cpu_access(import_attach->dmabuf, DMA_FROM_DEVICE);
>
> Is this a reasonable thing to do?
mipi_dbi_buf_copy() can be used by other rgb565 controllers, hence
the format check I think. So when that happens, it can be moved to
tinydrm-helpers.
Currently it's not possible to get an illegal format, since mipi-dbi
only supports those two formats.
Userspace can't set an illegal format, beacuse it's checked:
drm_atomic_commit -> drm_atomic_check_only -> drm_atomic_plane_check ->
drm_plane_check_pixel_format
So I think we can just leave this alone, or put the check before
import_attach if you really want to put this straight.
Noralf.
next prev parent reply other threads:[~2017-08-04 6:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 20:14 David Lechner
2017-08-02 18:51 ` Noralf Trønnes
2017-08-03 22:41 ` David Lechner
2017-08-04 6:49 ` Noralf Trønnes [this message]
2017-08-07 18:00 ` David Lechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8954ef28-26dc-df6c-014c-34b0ce5fdbfb@tronnes.org \
--to=noralf@tronnes.org \
--cc=airlied@linux.ie \
--cc=david@lechnology.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®