All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Gerhard Engleder <gerhard@engleder-embedded.com>
Cc: linux-serial@vger.kernel.org, gregkh@linuxfoundation.org,
	jirislaby@kernel.org
Subject: Re: [PATCH v2 0/2] serial: add KEBA UART driver
Date: Thu, 27 Nov 2025 21:56:34 +0200	[thread overview]
Message-ID: <aSis8tuBCfHqJvGY@smile.fi.intel.com> (raw)
In-Reply-To: <d7f1fbbb-0ec0-47b7-beee-8e9487098c99@engleder-embedded.com>

On Thu, Nov 27, 2025 at 08:26:13PM +0100, Gerhard Engleder wrote:
> On 27.11.25 17:05, Andy Shevchenko wrote:
> > On Fri, Oct 17, 2025 at 04:42:07PM +0200, Gerhard Engleder wrote:
> > > First the serial subsystem is prepared to keep rs485 settings from the
> > > driver if no firmware node exists. This enables drivers to configure a
> > > default rs485 mode, which is set by the serial subsystem.
> > > 
> > > Second the driver for the KEBA UART is added. This driver supports
> > > multiple rs485 modes and selects RS485 as default mode. This UART is
> > > found in KEBA PLC devices. The auxiliary devices for this driver are
> > > created by the cp500 driver.
> > 
> > I just realised (thanks, Lukas!) that this is for some kind of FPGA which makes
> > even bigger question here.
> > 
> > First of all, we have the FPGA framework, which handles (re-)configurations of
> > FPGAs. Second, why do you need a new driver when we have already one, i.e.
> > 8250_dfl that follows some kind of standards?
> 
> Yes, there is FPGA framework, which handles FPGA re-configuration.
> There is no FPGA re-configuration in the driver and neither in the
> system. The FPGA does not even support re-configuration. The FPGA is
> just a variant to implement a PCIe target. The FPGA loads its
> configuration on power up once from flash before the BIOS starts. So
> the operating system does not need to know that it is an FPGA. It is
> just a PCIe target.
> 
> Why not 8250_dfl? Because this is a driver for a different IP core.
> The UART is no Altera/Intel or AMD/Xilinx IP core. It is a KEBA
> IP core and the 8250_keba driver only implements feature added by
> KEBA. The rest is 8250 and uses the 8250 infrastructure.
> 
> > Third, the expect approach is to see DT overlay provided along with the FPGA
> > configuration. So, basically your cp500.c should not have been existed to begin
> > with.
> 
> Like first, it is just a PCIe target and this PCIe target is divided
> into auxiliary devices, which was suggested by gregkh. Initially I
> divided it into platform devices, but the suggestion of gregkh is a
> better fit. It is a single PCIe target, which consists of multiple
> logical devices with its own registers and interrupts. This logical
> devices are then separated by auxiliary devices.

This is implementation detail in Linux, but in HW why are those not a proper
PCI endpoints / functions? With that done, the drivers can be just normal
PCI device drivers.

> 3 years ago Intel was not able to deliver enough FPGAs. With just being
> a PCIe target, it was possible to switch the FPGA vendor without
> touching the software in the field. With Linux re-configuring the FPGA
> that would not have been possible. So re-configuring FPGAs during
> runtime is something that should be only used if needed.
> 
> > Can you elaborate on these considerations?
> 
> I hope you get a better impression what this is about. For the drivers
> it is not relevant that the device is FPGA based.

Yes, so it's rather something with a custom FW that is not supposed to be
changed (at least from the device hierarchy / functionality perspective),
or very little from version to version. Is this a correct summary?

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-11-27 19:56 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-17 14:42 [PATCH v2 0/2] serial: add KEBA UART driver Gerhard Engleder
2025-10-17 14:42 ` [PATCH v2 1/2] serial: Keep rs485 settings for devices without firmware node Gerhard Engleder
2025-10-19  8:50   ` Lukas Wunner
2025-10-19 14:10     ` Gerhard Engleder
2025-10-19 14:42       ` Lukas Wunner
2025-10-19 15:21         ` Gerhard Engleder
2025-10-19 17:02           ` Lukas Wunner
2025-10-19 19:06             ` Gerhard Engleder
2025-10-19 17:20           ` Lukas Wunner
2025-10-19 19:19             ` Gerhard Engleder
2025-10-17 14:42 ` [PATCH v2 2/2] serial: 8250: add driver for KEBA UART Gerhard Engleder
2025-11-27 16:05 ` [PATCH v2 0/2] serial: add KEBA UART driver Andy Shevchenko
2025-11-27 19:26   ` Gerhard Engleder
2025-11-27 19:56     ` Andy Shevchenko [this message]
2025-11-27 20:07       ` Gerhard Engleder
2025-11-27 20:56         ` Andy Shevchenko

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=aSis8tuBCfHqJvGY@smile.fi.intel.com \
    --to=andriy.shevchenko@intel.com \
    --cc=gerhard@engleder-embedded.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-serial@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 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.