mbox series

[v12,0/6] drivers: Introduce firmware driver for ZynqMP core

Message ID 1536781120-22794-1-git-send-email-jollys@xilinx.com (mailing list archive)
Headers show
Series drivers: Introduce firmware driver for ZynqMP core | expand

Message

Jolly Shah Sept. 12, 2018, 7:38 p.m. UTC
Firmware driver enables APU to communicate to PMUFW(Platform Management Unit) via ATF by 
using SMC instructions. This patchset is adding support for base firmware driver with query 
and clock control APIs. More API support will be added with incremental patchsets along with 
their user driver.

v12:
 - Removed clock driver patches from set
 - Removed ioctl api support
 - Incorporated minor review comments from v11 patch series

v11:
 - Removed "Reveiwed-by:Stephen Boyd" tag from firmware binding
 - Updated clock and firmware driver to use probe method instead of init
 - Marked PMU payload arguments with __le32 for proper endienness code
 
v10:
 - Incorporated code review comments from v9 patch series. Discussed below:
	https://patchwork.kernel.org/patch/10478575/
	https://patchwork.kernel.org/patch/10478457/
	https://patchwork.kernel.org/patch/10478461/
	https://patchwork.kernel.org/patch/10478463/
	
v9:
 - Fixed minor typo comments

v8:
 - Corrected typo in clk Kconfig
 
v7:
 - Removed xilinx specific clock debugfs API support
 - Added reviewed-by tags for FW and clock bindings
 - Updated clock node name to clock-controller

v6:
 - Broke patch series to have base FW driver and Clock driver user
 - Incorporated code review comments from last FW and Clock driver patch series. Discussed below:
	https://patchwork.kernel.org/patch/10230759/
	https://patchwork.kernel.org/patch/10250047/

v5:
 - Added ATF version check support
 - Updated some functions to be static 
 - Minor function name corrections

v4:
 - Changed clock setrate/getrate API prototype to support 64 bit rate
 - Defined macros for get_node_status return values
 - Moved DT node as a child of firmware
 - Changed debugfs APIs to return data to debugfs buffer instead of dumping to kernel log
 - Minor changes to incorporate other review comments from v3 patch series

v3:
 - added some fixes to firmware-ggs.c
 - updated pinmux get/set function argument names to specify function id instead of node id
 - added new pinctrl query macros
 - incorporated review comments from v2 patch series

v2:
 - change SPDX-License-Identifier license text style
 - split patch into multiple patches
 - Updated copyrights
 - Added ABI documentation
 - incorporated logical review comments from previuos patch. Discussed below:
	https://patchwork.kernel.org/patch/10150665/

Rajan Vaja (6):
  dt-bindings: firmware: Add bindings for ZynqMP firmware
  firmware: xilinx: Add Zynqmp firmware driver
  firmware: xilinx: Add query data API
  firmware: xilinx: Add clock APIs
  firmware: xilinx: Add debugfs interface
  firmware: xilinx: Add debugfs for query data API

 .../firmware/xilinx/xlnx,zynqmp-firmware.txt       |  29 ++
 arch/arm64/Kconfig.platforms                       |   1 +
 drivers/firmware/Kconfig                           |   1 +
 drivers/firmware/Makefile                          |   1 +
 drivers/firmware/xilinx/Kconfig                    |  23 +
 drivers/firmware/xilinx/Makefile                   |   5 +
 drivers/firmware/xilinx/zynqmp-debug.c             | 250 ++++++++++
 drivers/firmware/xilinx/zynqmp-debug.h             |  24 +
 drivers/firmware/xilinx/zynqmp.c                   | 523 +++++++++++++++++++++
 include/linux/firmware/xlnx-zynqmp.h               | 113 +++++
 10 files changed, 970 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt
 create mode 100644 drivers/firmware/xilinx/Kconfig
 create mode 100644 drivers/firmware/xilinx/Makefile
 create mode 100644 drivers/firmware/xilinx/zynqmp-debug.c
 create mode 100644 drivers/firmware/xilinx/zynqmp-debug.h
 create mode 100644 drivers/firmware/xilinx/zynqmp.c
 create mode 100644 include/linux/firmware/xlnx-zynqmp.h

Comments

Jolly Shah Sept. 20, 2018, 4:46 p.m. UTC | #1
Hi Olof,

As suggested, this patchset is generated without ioctl interface. Please review. If you are ok, Michal can create a pull request for merge.

Thanks,
Jolly Shah


> -----Original Message-----
> From: Jolly Shah [mailto:jolly.shah@xilinx.com]
> Sent: Wednesday, September 12, 2018 12:39 PM
> To: olof@lixom.net; Michal Simek <michals@xilinx.com>; arm@kernel.org
> Cc: Rajan Vaja <RAJANV@xilinx.com>; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; Jolly Shah <JOLLYS@xilinx.com>
> Subject: [PATCH v12 0/6] drivers: Introduce firmware driver for ZynqMP core
> 
> Firmware driver enables APU to communicate to PMUFW(Platform
> Management Unit) via ATF by using SMC instructions. This patchset is adding
> support for base firmware driver with query and clock control APIs. More API
> support will be added with incremental patchsets along with their user driver.
> 
> v12:
>  - Removed clock driver patches from set
>  - Removed ioctl api support
>  - Incorporated minor review comments from v11 patch series
> 
> v11:
>  - Removed "Reveiwed-by:Stephen Boyd" tag from firmware binding
>  - Updated clock and firmware driver to use probe method instead of init
>  - Marked PMU payload arguments with __le32 for proper endienness code
> 
> v10:
>  - Incorporated code review comments from v9 patch series. Discussed below:
> 	https://patchwork.kernel.org/patch/10478575/
> 	https://patchwork.kernel.org/patch/10478457/
> 	https://patchwork.kernel.org/patch/10478461/
> 	https://patchwork.kernel.org/patch/10478463/
> 
> v9:
>  - Fixed minor typo comments
> 
> v8:
>  - Corrected typo in clk Kconfig
> 
> v7:
>  - Removed xilinx specific clock debugfs API support
>  - Added reviewed-by tags for FW and clock bindings
>  - Updated clock node name to clock-controller
> 
> v6:
>  - Broke patch series to have base FW driver and Clock driver user
>  - Incorporated code review comments from last FW and Clock driver patch
> series. Discussed below:
> 	https://patchwork.kernel.org/patch/10230759/
> 	https://patchwork.kernel.org/patch/10250047/
> 
> v5:
>  - Added ATF version check support
>  - Updated some functions to be static
>  - Minor function name corrections
> 
> v4:
>  - Changed clock setrate/getrate API prototype to support 64 bit rate
>  - Defined macros for get_node_status return values
>  - Moved DT node as a child of firmware
>  - Changed debugfs APIs to return data to debugfs buffer instead of dumping to
> kernel log
>  - Minor changes to incorporate other review comments from v3 patch series
> 
> v3:
>  - added some fixes to firmware-ggs.c
>  - updated pinmux get/set function argument names to specify function id
> instead of node id
>  - added new pinctrl query macros
>  - incorporated review comments from v2 patch series
> 
> v2:
>  - change SPDX-License-Identifier license text style
>  - split patch into multiple patches
>  - Updated copyrights
>  - Added ABI documentation
>  - incorporated logical review comments from previuos patch. Discussed below:
> 	https://patchwork.kernel.org/patch/10150665/
> 
> Rajan Vaja (6):
>   dt-bindings: firmware: Add bindings for ZynqMP firmware
>   firmware: xilinx: Add Zynqmp firmware driver
>   firmware: xilinx: Add query data API
>   firmware: xilinx: Add clock APIs
>   firmware: xilinx: Add debugfs interface
>   firmware: xilinx: Add debugfs for query data API
> 
>  .../firmware/xilinx/xlnx,zynqmp-firmware.txt       |  29 ++
>  arch/arm64/Kconfig.platforms                       |   1 +
>  drivers/firmware/Kconfig                           |   1 +
>  drivers/firmware/Makefile                          |   1 +
>  drivers/firmware/xilinx/Kconfig                    |  23 +
>  drivers/firmware/xilinx/Makefile                   |   5 +
>  drivers/firmware/xilinx/zynqmp-debug.c             | 250 ++++++++++
>  drivers/firmware/xilinx/zynqmp-debug.h             |  24 +
>  drivers/firmware/xilinx/zynqmp.c                   | 523 +++++++++++++++++++++
>  include/linux/firmware/xlnx-zynqmp.h               | 113 +++++
>  10 files changed, 970 insertions(+)
>  create mode 100644
> Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt
>  create mode 100644 drivers/firmware/xilinx/Kconfig  create mode 100644
> drivers/firmware/xilinx/Makefile  create mode 100644
> drivers/firmware/xilinx/zynqmp-debug.c
>  create mode 100644 drivers/firmware/xilinx/zynqmp-debug.h
>  create mode 100644 drivers/firmware/xilinx/zynqmp.c  create mode 100644
> include/linux/firmware/xlnx-zynqmp.h
> 
> --
> 2.7.4
Olof Johansson Sept. 23, 2018, 1:13 p.m. UTC | #2
On Thu, Sep 20, 2018 at 5:46 PM, Jolly Shah <JOLLYS@xilinx.com> wrote:
> Hi Olof,
>
> As suggested, this patchset is generated without ioctl interface. Please review. If you are ok, Michal can create a pull request for merge.

Hi,

I replied on the other thread as well; it sounds like you will need
something _like_ the ioctl interface for some of the dependent
drivers. For those, would it be possible to only expose some of the
ioctls through the interface, and not just pass through any call? I
think that'd probably take care of my concern.

But yeah, go ahead and stage these in a pull request for now, that way
we can take care of these and merge them as the rest are getting
ready. I don't want to hold you up more than needed; the patch set is
already up to a very high version number and it's not fair to make you
rework it completely yet again.



-Olof
Jolly Shah Sept. 24, 2018, 6:21 p.m. UTC | #3
Hi Olof,

> -----Original Message-----
> From: Olof Johansson [mailto:olof@lixom.net]
> Sent: Sunday, September 23, 2018 6:13 AM
> To: Jolly Shah <JOLLYS@xilinx.com>
> Cc: Michal Simek <michals@xilinx.com>; arm@kernel.org; Rajan Vaja
> <RAJANV@xilinx.com>; linux-arm-kernel@lists.infradead.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH v12 0/6] drivers: Introduce firmware driver for ZynqMP core
> 
> On Thu, Sep 20, 2018 at 5:46 PM, Jolly Shah <JOLLYS@xilinx.com> wrote:
> > Hi Olof,
> >
> > As suggested, this patchset is generated without ioctl interface. Please review.
> If you are ok, Michal can create a pull request for merge.
> 
> Hi,
> 
> I replied on the other thread as well; it sounds like you will need something
> _like_ the ioctl interface for some of the dependent drivers. For those, would it
> be possible to only expose some of the ioctls through the interface, and not just
> pass through any call? I think that'd probably take care of my concern.
> 

Sounds good. I will make required changes and submit as incremental patches along with clock driver.

> But yeah, go ahead and stage these in a pull request for now, that way we can
> take care of these and merge them as the rest are getting ready. I don't want to
> hold you up more than needed; the patch set is already up to a very high version
> number and it's not fair to make you rework it completely yet again.
> 
> 

Thanks. Michal will create pull request for same.

Thanks,
Jolly Shah

> 
> -Olof
Jolly Shah Sept. 26, 2018, 6:25 p.m. UTC | #4
Hi Olof,

> -----Original Message-----
> From: Olof Johansson [mailto:olof@lixom.net]
> Sent: Sunday, September 23, 2018 6:13 AM
> To: Jolly Shah <JOLLYS@xilinx.com>
> Cc: Michal Simek <michals@xilinx.com>; arm@kernel.org; Rajan Vaja
> <RAJANV@xilinx.com>; linux-arm-kernel@lists.infradead.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH v12 0/6] drivers: Introduce firmware driver for ZynqMP core
> 
> On Thu, Sep 20, 2018 at 5:46 PM, Jolly Shah <JOLLYS@xilinx.com> wrote:
> > Hi Olof,
> >
> > As suggested, this patchset is generated without ioctl interface. Please review.
> If you are ok, Michal can create a pull request for merge.
> 
> Hi,
> 
> I replied on the other thread as well; it sounds like you will need something
> _like_ the ioctl interface for some of the dependent drivers. For those, would it
> be possible to only expose some of the ioctls through the interface, and not just
> pass through any call? I think that'd probably take care of my concern.
> 

I have pushed clock driver patch set including ioctl changes. Please review and let me know if any changes are required.

Thanks,
Jolly Shah


> But yeah, go ahead and stage these in a pull request for now, that way we can
> take care of these and merge them as the rest are getting ready. I don't want to
> hold you up more than needed; the patch set is already up to a very high version
> number and it's not fair to make you rework it completely yet again.
> 
> 
> 
> -Olof