From: Tomasz Figa <tomasz.figa@gmail.com>
To: Alim Akhtar <alim.akhtar@gmail.com>
Cc: Alim Akhtar <alim.akhtar@samsung.com>,
gregkh@linuxfoundation.org, Rob Herring <robh@kernel.org>,
"linux-samsung-soc@vger.kernel.org"
<linux-samsung-soc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Thomas P Abraham <thomas.ab@samsung.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [PATCH] tty/serial: samsung: Add earlycon support
Date: Mon, 22 Sep 2014 01:19:46 +0200 [thread overview]
Message-ID: <541F5D12.6080605@gmail.com> (raw)
In-Reply-To: <CAGOxZ504AXRJ4gYdD1NdvomLeBX4oeLT+XDeDxrS6swYCm4rog@mail.gmail.com>
On 22.09.2014 01:10, Alim Akhtar wrote:
[snip]
>>> As you said there is no support for ioremap on ARM, so this is not
>>> tested on ARM.
>>
>> Don't forget that this driver is primarily targeted for ARM platforms
>> (versus just one ARM64-based Exynos7), so either this feature should be
>> clearly added as ARM64-specific (and compiled in conditionally) or made
>> work for all supported platforms.
>>
> Well, this will work on every platform which uses
> "samsung,exynos4210-uart" as a UART controller.
> Exynos7 also use same, there is nothing special about ARM64 bit here.
> please see[1].
> For "s3c24xx-uart", this has to be implemented separably as that is a
> bit different.
For this feature, they differ only in locations and lengths of
FIFO-related bit fields. We had this already implemented for all
hardware variants and so my recommendation to reuse that code.
>>>>
>>>>> smh Use ARM semihosting calls for early console.
>>>>>
>>>>> earlyprintk= [X86,SH,BLACKFIN,ARM,M68k]
[snip]
> Tomasz/Marek,
> Do you think something like below make sense here?
>
> +static void exynos4210_serial_console_putc(struct uart_port *port, int ch)
> +{
> + while (!(readl(port->membase + S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE))
> + ;
Waiting in a loop for a software-writable FIFO mode enable bit doesn't
look reasonable to me. Probably a typo?
> +
> + wr_regb(port, S3C2410_UTXH, ch);
> +
> + while ((readl(port->membase + S3C2410_UFSTAT) & S5PV210_UFSTAT_TXFULL))
> + ;
I wonder if you need to wait for the character to be sent. If you ensure
before writing a character that there is no previous one in the buffer
or there is space in FIFO then I believe you should be fine.
> +}
>
> and call exynos4210_serial_console_putc() in samsung_early_write()?
> Anyway functions names need to be changes accordingly.
Yes, this is exactly what we had implemented in the patch I mentioned,
except that the putc function was generic for all hardware variants.
Best regards,
Tomasz
WARNING: multiple messages have this Message-ID (diff)
From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] tty/serial: samsung: Add earlycon support
Date: Mon, 22 Sep 2014 01:19:46 +0200 [thread overview]
Message-ID: <541F5D12.6080605@gmail.com> (raw)
In-Reply-To: <CAGOxZ504AXRJ4gYdD1NdvomLeBX4oeLT+XDeDxrS6swYCm4rog@mail.gmail.com>
On 22.09.2014 01:10, Alim Akhtar wrote:
[snip]
>>> As you said there is no support for ioremap on ARM, so this is not
>>> tested on ARM.
>>
>> Don't forget that this driver is primarily targeted for ARM platforms
>> (versus just one ARM64-based Exynos7), so either this feature should be
>> clearly added as ARM64-specific (and compiled in conditionally) or made
>> work for all supported platforms.
>>
> Well, this will work on every platform which uses
> "samsung,exynos4210-uart" as a UART controller.
> Exynos7 also use same, there is nothing special about ARM64 bit here.
> please see[1].
> For "s3c24xx-uart", this has to be implemented separably as that is a
> bit different.
For this feature, they differ only in locations and lengths of
FIFO-related bit fields. We had this already implemented for all
hardware variants and so my recommendation to reuse that code.
>>>>
>>>>> smh Use ARM semihosting calls for early console.
>>>>>
>>>>> earlyprintk= [X86,SH,BLACKFIN,ARM,M68k]
[snip]
> Tomasz/Marek,
> Do you think something like below make sense here?
>
> +static void exynos4210_serial_console_putc(struct uart_port *port, int ch)
> +{
> + while (!(readl(port->membase + S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE))
> + ;
Waiting in a loop for a software-writable FIFO mode enable bit doesn't
look reasonable to me. Probably a typo?
> +
> + wr_regb(port, S3C2410_UTXH, ch);
> +
> + while ((readl(port->membase + S3C2410_UFSTAT) & S5PV210_UFSTAT_TXFULL))
> + ;
I wonder if you need to wait for the character to be sent. If you ensure
before writing a character that there is no previous one in the buffer
or there is space in FIFO then I believe you should be fine.
> +}
>
> and call exynos4210_serial_console_putc() in samsung_early_write()?
> Anyway functions names need to be changes accordingly.
Yes, this is exactly what we had implemented in the patch I mentioned,
except that the putc function was generic for all hardware variants.
Best regards,
Tomasz
next prev parent reply other threads:[~2014-09-21 23:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-16 11:32 [PATCH] tty/serial: samsung: Add earlycon support Alim Akhtar
2014-09-20 12:41 ` Alim Akhtar
2014-09-20 12:41 ` Alim Akhtar
2014-09-20 13:39 ` Tomasz Figa
2014-09-20 13:39 ` Tomasz Figa
2014-09-20 18:00 ` Rob Herring
2014-09-20 18:00 ` Rob Herring
2014-09-21 14:36 ` Alim Akhtar
2014-09-21 14:36 ` Alim Akhtar
2014-09-21 17:24 ` Tomasz Figa
2014-09-21 17:24 ` Tomasz Figa
2014-09-21 23:10 ` Alim Akhtar
2014-09-21 23:10 ` Alim Akhtar
2014-09-21 23:19 ` Tomasz Figa [this message]
2014-09-21 23:19 ` Tomasz Figa
2014-09-22 13:41 ` Alim Akhtar
2014-09-22 13:41 ` Alim Akhtar
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=541F5D12.6080605@gmail.com \
--to=tomasz.figa@gmail.com \
--cc=alim.akhtar@gmail.com \
--cc=alim.akhtar@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=robh@kernel.org \
--cc=thomas.ab@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.