RE: [EXT] Re: [PATCH v3 5/5] firmware: imx: adds miscdev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Sent: Wednesday, June 19, 2024 3:09 AM
> To: Pankaj Gupta <pankaj.gupta@xxxxxxx>; Jonathan Corbet
> <corbet@xxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Shawn Guo
> <shawnguo@xxxxxxxxxx>; Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>;
> Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>; Fabio Estevam
> <festevam@xxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
> Cc: linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCH v3 5/5] firmware: imx: adds miscdev
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> Sorry, I missed one comment here:
>
>
> On 6/18/24 2:28 PM, Randy Dunlap wrote:
> > Hi--
> >
> > On 6/17/24 12:29 AM, Pankaj Gupta wrote:
> >> Adds the driver for communication interface to secure-enclave, for
> >> exchanging messages with NXP secure enclave HW IP(s) like EdgeLock
> >> Enclave from:
> >> - User-Space Applications via character driver.
> >>
> >> ABI documentation for the NXP secure-enclave driver.
> >>
> >> User-space library using this driver:
> >> - i.MX Secure Enclave library:
> >>   -- URL:
> >> https://git/
> >> hub.com%2Fnxp-imx%2Fimx-secure-
> enclave.git&data=05%7C02%7Cpankaj.gupt
> >>
> a%40nxp.com%7C5a42a8d6ea17423104e408dc8fdf1a0a%7C686ea1d3bc2b4c6f
> a92c
> >>
> d99c5c301635%7C0%7C0%7C638543435571166030%7CUnknown%7CTWFpbG
> Zsb3d8eyJ
> >>
> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C
> 0%7
> >>
> C%7C%7C&sdata=vLyxSGFLArjDy5s2ebW%2Fw6EZI22QHWoKqHvrov15JI0%3D&
> reserv
> >> ed=0,
> >> - i.MX Secure Middle-Ware:
> >>   -- URL:
> >> https://git/
> >> hub.com%2Fnxp-imx%2Fimx-
> smw.git&data=05%7C02%7Cpankaj.gupta%40nxp.com
> >> %7C5a42a8d6ea17423104e408dc8fdf1a0a%7C686ea1d3bc2b4c6fa92cd99c5
> c30163
> >>
> 5%7C0%7C0%7C638543435571176586%7CUnknown%7CTWFpbGZsb3d8eyJWIj
> oiMC4wLj
> >>
> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7
> C&sda
> >>
> ta=QFrkeMwm1yT1s2gyjmFHkVGhV%2BegAFKx84b5mmFsTOY%3D&reserved=0
> >>
> >> Signed-off-by: Pankaj Gupta <pankaj.gupta@xxxxxxx>
> >> ---
> >>  Documentation/ABI/testing/se-cdev |  42 +++
> >> drivers/firmware/imx/ele_common.c | 153 ++++++++-
> >>  drivers/firmware/imx/ele_common.h |   4 +
> >>  drivers/firmware/imx/se_ctrl.c    | 694
> ++++++++++++++++++++++++++++++++++++++
> >>  drivers/firmware/imx/se_ctrl.h    |  49 +++
> >>  include/uapi/linux/se_ioctl.h     |  94 ++++++
> >>  6 files changed, 1034 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/Documentation/ABI/testing/se-cdev
> >> b/Documentation/ABI/testing/se-cdev
> >> new file mode 100644
> >> index 000000000000..699525af6b86
> >> --- /dev/null
> >> +++ b/Documentation/ABI/testing/se-cdev
> >> @@ -0,0 +1,42 @@
> >> +What:               /dev/<se>_mu[0-9]+_ch[0-9]+
> >> +Date:               May 2024
> >> +KernelVersion:      6.8
> >> +Contact:    linux-imx@xxxxxxx, pankaj.gupta@xxxxxxx
> >> +Description:
> >> +            NXP offers multiple hardware IP(s) for  secure-enclaves
> >> +like EdgeLock-
> >
> >                                                  for secure enclaves
> >
> >> +            Enclave(ELE), SECO. The character device
> >> + file-descriptors
> >
> >                                                        file
> > descriptors
> >
> > and what is SECO?
> >
> >> +            /dev/<se>_mu*_ch* are the interface between user-space
> >> + NXP's secure-
> >
> >                                                           userspace        secure
> >
> >> +            enclave shared-library and the kernel driver.
> >
> >                       shared library
> >
> >> +
> >> +            The ioctl(2)-based ABI is defined and documented in
> >> +            [include]<linux/firmware/imx/ele_mu_ioctl.h>
> >> +             ioctl(s) are used primarily for:
> >> +                    - shared memory management
> >> +                    - allocation of I/O buffers
> >> +                    - get mu info
> >
> >                       - getting mu info
> >
> >> +                    - setting a dev-ctx as receiver that is slave to
> >> + fw
>
> Documentation/process/coding-style.rst says not to introduce new uses of the
> word "slave":
>
> For symbol names and documentation, avoid introducing new usage of 'master
> / slave' (or 'slave' independent of 'master') and 'blacklist / whitelist'.
>
Accepted.

-                       - setting a dev-ctx as receiver that is slave to fw
+                       - setting a dev-ctx as receiver to receive all the commands from FW

> Recommended replacements for 'master / slave' are:
>     '{primary,main} / {secondary,replica,subordinate}'
>     '{initiator,requester} / {target,responder}'
>     '{controller,host} / {device,worker,proxy}'
>     'leader / follower'
>     'director / performer'
>
>
> >> +                    - get SoC info
> >
> >                       - getting SoC info
> >
> >> +
> >> +            The following file operations are supported:
> >> +
> >> +            open(2)
> >> +              Currently the only useful flags are O_RDWR.
> >> +
> >> +            read(2)
> >> +              Every read() from the opened character device context is waiting on
> >> +              wakeup_intruptible, that gets set by the registered
> >> + mailbox callback
> >
> >                 typo in that name?
> >               or is it something that this patch series introduces?
> >
> >> +              function; indicating a message received from the
> >> + firmware on message-
> >
> >                 function,
> >
> >> +              unit.
> >> +
> >> +            write(2)
> >> +              Every write() to the opened character device context needs to
> acquire
> >> +              mailbox_lock, before sending message on to the message unit.
> >
> >                 mailbox_lock before
> >
> >> +
> >> +            close(2)
> >> +              Stops and free up the I/O contexts that was associated
> >
> >                           frees up                 that were associated
> >
> >> +              with the file descriptor.
> >> +
> >> +Users:
> https://github.c/
> om%2Fnxp-imx%2Fimx-secure-
> enclave.git&data=05%7C02%7Cpankaj.gupta%40nxp.com%7C5a42a8d6ea17423
> 104e408dc8fdf1a0a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> 8543435571183041%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAi
> LCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=
> VNnIyu2RKFHaWh6aRo9aHEtjSSdI1gvzP%2BMy1%2BGggt4%3D&reserved=0,
> >> +
> https://github.c/
> om%2Fnxp-imx%2Fimx-
> smw.git&data=05%7C02%7Cpankaj.gupta%40nxp.com%7C5a42a8d6ea1742310
> 4e408dc8fdf1a0a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6385
> 43435571187283%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ
> QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=23
> Y%2FOKyv2%2BSGuPbGyekpBlCDHYlwiAA8sriLXydEgFw%3D&reserved=0
> >> +            crypto/skcipher,
> >> +            drivers/nvmem/imx-ocotp-ele.c
> >
> >
>
> --
> ~Randy





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux