All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/6] Asynchronous notifications from secure world
@ 2021-10-06  7:15 ` Jens Wiklander
  0 siblings, 0 replies; 30+ messages in thread
From: Jens Wiklander @ 2021-10-06  7:15 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel, op-tee, devicetree, linux-doc
  Cc: Jerome Forissier, Etienne Carriere, Sumit Garg, Vincent Guittot,
	Rob Herring, Jonathan Corbet, Ard Biesheuvel, Marc Zyngier,
	Jens Wiklander

Hi all,

This adds support for asynchronous notifications from OP-TEE in secure
world to the OP-TEE driver. This allows a design with a top half and bottom
half type of driver where the top half runs in secure interrupt context and
a notifications tells normal world to schedule a yielding call to do the
bottom half processing.

An edge-triggered interrupt is used to notify the driver that there are
asynchronous notifications pending.

The documentation and DT bindings patches are now well reviewed, but
the patches with code would do with some more attention.

v5->v6:
* Rebased on v5.15-rc2
* Replaced "tee: add tee_dev_open_helper() primitive" with "tee: export
  teedev_open() and teedev_close_context()" since it turned out that the
  normal teedev functions could be used instead as noted by Sumit.
* Changed "optee: add asynchronous notifications" to use the exported
  teedev_open() and teedev_close_context() functions instead.

v4->v5:
* Rebased on v5.14-rc7
* Updated documentation to clarify that one interrupt may represent multiple
  notifications as requested.
* Applied Marc's and Rob's tags

v3->v4:
* Clarfied the expected type of interrypt is edge-triggered, both in
  the normal documentation and in the DT bindings as requested.

v2->v3:
* Rebased on v5.14-rc2 which made the patch "dt-bindings: arm: Convert
  optee binding to json-schema" from the V2 patch set obsolete.
* Applied Ard's Acked-by on "optee: add asynchronous notifications"

v1->v2:
* Added documentation
* Converted optee bindings to json-schema and added interrupt property
* Configure notification interrupt from DT instead of getting it
  from secure world, suggested by Ard Biesheuvel <ardb@kernel.org>.

Thanks,
Jens

Jens Wiklander (6):
  docs: staging/tee.rst: add a section on OP-TEE notifications
  dt-bindings: arm: optee: add interrupt property
  tee: fix put order in teedev_close_context()
  tee: export teedev_open() and teedev_close_context()
  optee: separate notification functions
  optee: add asynchronous notifications

 .../arm/firmware/linaro,optee-tz.yaml         |   7 +
 Documentation/staging/tee.rst                 |  30 +++
 drivers/tee/optee/Makefile                    |   1 +
 drivers/tee/optee/call.c                      |  27 +++
 drivers/tee/optee/core.c                      |  87 +++++--
 drivers/tee/optee/notif.c                     | 226 ++++++++++++++++++
 drivers/tee/optee/optee_msg.h                 |   9 +
 drivers/tee/optee/optee_private.h             |  23 +-
 drivers/tee/optee/optee_rpc_cmd.h             |  31 +--
 drivers/tee/optee/optee_smc.h                 |  75 +++++-
 drivers/tee/optee/rpc.c                       |  73 +-----
 drivers/tee/tee_core.c                        |  10 +-
 include/linux/tee_drv.h                       |  14 ++
 13 files changed, 496 insertions(+), 117 deletions(-)
 create mode 100644 drivers/tee/optee/notif.c

-- 
2.31.1


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2021-10-14  5:45 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-06  7:15 [PATCH v6 0/6] Asynchronous notifications from secure world Jens Wiklander
2021-10-06  7:15 ` Jens Wiklander
2021-10-06  7:15 ` [PATCH v6 1/6] docs: staging/tee.rst: add a section on OP-TEE notifications Jens Wiklander
2021-10-06  7:15   ` Jens Wiklander
2021-10-13  7:02   ` Sumit Garg
2021-10-13  7:02     ` Sumit Garg
2021-10-06  7:15 ` [PATCH v6 2/6] dt-bindings: arm: optee: add interrupt property Jens Wiklander
2021-10-06  7:15   ` Jens Wiklander
2021-10-13  7:08   ` Sumit Garg
2021-10-13  7:08     ` Sumit Garg
2021-10-06  7:15 ` [PATCH v6 3/6] tee: fix put order in teedev_close_context() Jens Wiklander
2021-10-06  7:15   ` Jens Wiklander
2021-10-13  7:09   ` Sumit Garg
2021-10-13  7:09     ` Sumit Garg
2021-10-06  7:15 ` [PATCH v6 4/6] tee: export teedev_open() and teedev_close_context() Jens Wiklander
2021-10-06  7:15   ` Jens Wiklander
2021-10-13  7:09   ` Sumit Garg
2021-10-13  7:09     ` Sumit Garg
2021-10-06  7:15 ` [PATCH v6 5/6] optee: separate notification functions Jens Wiklander
2021-10-06  7:15   ` Jens Wiklander
2021-10-13  7:15   ` Sumit Garg
2021-10-13  7:15     ` Sumit Garg
2021-10-13 13:42     ` Jens Wiklander
2021-10-13 13:42       ` Jens Wiklander
2021-10-06  7:15 ` [PATCH v6 6/6] optee: add asynchronous notifications Jens Wiklander
2021-10-06  7:15   ` Jens Wiklander
2021-10-13  8:07   ` Sumit Garg
2021-10-13  8:07     ` Sumit Garg
2021-10-14  5:42     ` Jens Wiklander
2021-10-14  5:42       ` Jens Wiklander

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.