All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>, gregkh@linuxfoundation.org
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	linux-arm-msm@vger.kernel.org,
	Anders Roxell <anders.roxell@linaro.org>
Subject: Re: [PATCH 11/15] tty: msm_serial: use dmaengine_prep_slave_sg()
Date: Wed, 17 Apr 2024 12:50:48 +0200	[thread overview]
Message-ID: <783c05cd-0cd2-4b0e-9dce-2a9fdfee7c74@kernel.org> (raw)
In-Reply-To: <0335b679-da36-42c1-a1ba-8affb7a98d44@samsung.com>

On 17. 04. 24, 12:15, Marek Szyprowski wrote:
> Hi Jiri,
> 
> On 16.04.2024 12:23, Jiri Slaby wrote:
>> On 15. 04. 24, 23:17, Marek Szyprowski wrote:
>>> On 05.04.2024 08:08, Jiri Slaby (SUSE) wrote:
>>>> This is a preparatory for the serial-to-kfifo switch. kfifo understands
>>>> only scatter-gatter approach, so switch to that.
>>>>
>>>> No functional change intended, it's just dmaengine_prep_slave_single()
>>>> inline expanded.
>>>>
>>>> And in this case, switch from dma_map_single() to dma_map_sg() too.
>>>> This
>>>> needs struct msm_dma changes. I split the rx and tx parts into an
>>>> union.
>>>> TX is now struct scatterlist, RX remains the old good phys-virt-count
>>>> triple.
>>>>
>>>> Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
>>>> Cc: Bjorn Andersson <andersson@kernel.org>
>>>> Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
>>>> Cc: linux-arm-msm@vger.kernel.org
>>>
>>> I've just found that this patch broke UART operation on DragonBoard
>>> 410c. I briefly checked and didn't notice anything obviously wrong here,
>>> but the board stops transmitting any data from its serial port after the
>>> first message. I will try to analyze this issue a bit more tomorrow.
>>
>> I double checked, but I see no immediate issues in the patch too. So
>> please, if you can analyze this more…
> 
> I've spent some time digging into this issue and frankly speaking I
> still have no idea WHY it doesn't work (or I seriously mixed something
> in the scatterlist principles). However I found a workaround to make it
> working. Maybe it will help a bit guessing what happens there.
...
> @@ -434,7 +436,7 @@ static void msm_start_tx(struct uart_port *port)
>           struct msm_dma *dma = &msm_port->tx_dma;
> 
>           /* Already started in DMA mode */
> -       if (sg_dma_len(&dma->tx_sg))
> +       if (dma->mapped)

Thanks for looking into this.

I was hesitant if I should use a flag. I should have, apparently.

Quick question:
What's value of CONFIG_NEED_SG_DMA_LENGTH in your .config?

thanks,
-- 
js
suse labs


  reply	other threads:[~2024-04-17 10:50 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-05  6:08 [PATCH 00/15] tty: serial: switch from circ_buf to kfifo Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 01/15] kfifo: drop __kfifo_dma_out_finish_r() Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 02/15] kfifo: introduce and use kfifo_skip_count() Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 03/15] kfifo: add kfifo_out_linear{,_ptr}() Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 04/15] kfifo: remove support for physically non-contiguous memory Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 05/15] kfifo: rename l to len_to_end in setup_sgl() Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 06/15] kfifo: pass offset to setup_sgl_buf() instead of a pointer Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 07/15] kfifo: add kfifo_dma_out_prepare_mapped() Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 08/15] kfifo: fix typos in kernel-doc Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 09/15] tty: 8250_dma: use dmaengine_prep_slave_sg() Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 10/15] tty: 8250_omap: " Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 11/15] tty: msm_serial: " Jiri Slaby (SUSE)
2024-04-15 21:17   ` Marek Szyprowski
2024-04-16 10:23     ` Jiri Slaby
2024-04-17 10:15       ` Marek Szyprowski
2024-04-17 10:50         ` Jiri Slaby [this message]
2024-04-17 12:45           ` Marek Szyprowski
2024-04-19  7:17             ` Jiri Slaby
2024-04-19  7:43             ` Jiri Slaby
2024-04-19  7:53               ` Jiri Slaby
2024-04-19  8:00                 ` Marek Szyprowski
2024-04-19  8:09                   ` Jiri Slaby
2024-04-19  8:09                   ` [PATCH] serial: msm: check dma_map_sg() return value properly Jiri Slaby (SUSE)
2024-04-19  9:03                     ` Marek Szyprowski
2024-04-05  6:08 ` [PATCH 12/15] tty: serial: switch from circ_buf to kfifo Jiri Slaby (SUSE)
2024-04-15 12:58   ` Marek Szyprowski
2024-04-15 12:58     ` Marek Szyprowski
2024-04-15 13:28     ` Jiri Slaby
2024-04-15 13:28       ` Jiri Slaby
2024-04-15 14:17       ` Marek Szyprowski
2024-04-15 14:17         ` Marek Szyprowski
2024-04-16  5:48         ` [PATCH] serial: meson+qcom: don't advance the kfifo twice Jiri Slaby (SUSE)
2024-04-16  5:48           ` Jiri Slaby (SUSE)
2024-04-16  5:48           ` Jiri Slaby (SUSE)
2024-04-17 10:08       ` [PATCH 12/15] tty: serial: switch from circ_buf to kfifo Anders Roxell
2024-04-17 10:08         ` Anders Roxell
2024-04-17 10:20         ` Marek Szyprowski
2024-04-17 10:20           ` Marek Szyprowski
2024-04-17 11:19           ` Anders Roxell
2024-04-17 11:19             ` Anders Roxell
2024-04-22  6:45             ` Jiri Slaby
2024-04-22  6:45               ` Jiri Slaby
2024-04-22 10:05               ` Anders Roxell
2024-04-22 10:05                 ` Anders Roxell
2024-04-16  3:24   ` Pengfei Xu
2024-04-16  7:04     ` Jiri Slaby
2024-04-16  7:19     ` [PATCH] serial: drop debugging WARN_ON_ONCE() from uart_put_char() Jiri Slaby (SUSE)
2024-05-28 15:05   ` [PATCH] serial: drop debugging WARN_ON_ONCE() from uart_write() Tetsuo Handa
2024-06-03  7:10     ` Jiri Slaby
2024-04-05  6:08 ` [PATCH 13/15] tty: atmel_serial: use single DMA mapping for TX Jiri Slaby (SUSE)
2024-04-05  6:08   ` Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 14/15] tty: atmel_serial: define macro for RX size Jiri Slaby (SUSE)
2024-04-05  6:08   ` Jiri Slaby (SUSE)
2024-04-05  6:08 ` [PATCH 15/15] tty: atmel_serial: use single DMA mapping for RX Jiri Slaby (SUSE)
2024-04-05  6:08   ` Jiri Slaby (SUSE)
2024-04-19 15:12 ` [PATCH 00/15] tty: serial: switch from circ_buf to kfifo Neil Armstrong
2024-04-20  5:42   ` Greg KH
2024-04-22  7:50     ` Neil Armstrong
2024-04-22  5:51   ` Jiri Slaby
2024-04-22  7:43     ` neil.armstrong
2024-06-07 20:32     ` Ferry Toth
2024-06-10 20:16       ` Ferry Toth
2024-06-11  7:36         ` Jiri Slaby
2024-06-12 13:13         ` Ilpo Järvinen
2024-06-16 20:55           ` Ferry Toth
2024-06-17  6:23             ` Ilpo Järvinen

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=783c05cd-0cd2-4b0e-9dce-2a9fdfee7c74@kernel.org \
    --to=jirislaby@kernel.org \
    --cc=anders.roxell@linaro.org \
    --cc=andersson@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.