<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/tee/optee, branch v5.11</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>tee: optee: replace might_sleep with cond_resched</title>
<updated>2021-01-21T09:36:48+00:00</updated>
<author>
<name>Rouven Czerwinski</name>
<email>r.czerwinski@pengutronix.de</email>
</author>
<published>2021-01-05T10:28:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=dcb3b06d9c34f33a249f65c08805461fb0c4325b'/>
<id>dcb3b06d9c34f33a249f65c08805461fb0c4325b</id>
<content type='text'>
might_sleep() is a debugging aid and triggers rescheduling only for
certain kernel configurations. Replace with an explicit check and
reschedule to work for all kernel configurations. Fixes the following
trace:

  [  572.945146] rcu: INFO: rcu_sched self-detected stall on CPU
  [  572.949275] rcu:     0-....: (2099 ticks this GP) idle=572/1/0x40000002 softirq=7412/7412 fqs=974
  [  572.957964]  (t=2100 jiffies g=10393 q=21)
  [  572.962054] NMI backtrace for cpu 0
  [  572.965540] CPU: 0 PID: 165 Comm: xtest Not tainted 5.8.7 #1
  [  572.971188] Hardware name: STM32 (Device Tree Support)
  [  572.976354] [&lt;c011163c&gt;] (unwind_backtrace) from [&lt;c010b7f8&gt;] (show_stack+0x10/0x14)
  [  572.984080] [&lt;c010b7f8&gt;] (show_stack) from [&lt;c0511e4c&gt;] (dump_stack+0xc4/0xd8)
  [  572.991300] [&lt;c0511e4c&gt;] (dump_stack) from [&lt;c0519abc&gt;] (nmi_cpu_backtrace+0x90/0xc4)
  [  572.999130] [&lt;c0519abc&gt;] (nmi_cpu_backtrace) from [&lt;c0519bdc&gt;] (nmi_trigger_cpumask_backtrace+0xec/0x130)
  [  573.008706] [&lt;c0519bdc&gt;] (nmi_trigger_cpumask_backtrace) from [&lt;c01a5184&gt;] (rcu_dump_cpu_stacks+0xe8/0x110)
  [  573.018453] [&lt;c01a5184&gt;] (rcu_dump_cpu_stacks) from [&lt;c01a4234&gt;] (rcu_sched_clock_irq+0x7fc/0xa88)
  [  573.027416] [&lt;c01a4234&gt;] (rcu_sched_clock_irq) from [&lt;c01acdd0&gt;] (update_process_times+0x30/0x8c)
  [  573.036291] [&lt;c01acdd0&gt;] (update_process_times) from [&lt;c01bfb90&gt;] (tick_sched_timer+0x4c/0xa8)
  [  573.044905] [&lt;c01bfb90&gt;] (tick_sched_timer) from [&lt;c01adcc8&gt;] (__hrtimer_run_queues+0x174/0x358)
  [  573.053696] [&lt;c01adcc8&gt;] (__hrtimer_run_queues) from [&lt;c01aea2c&gt;] (hrtimer_interrupt+0x118/0x2bc)
  [  573.062573] [&lt;c01aea2c&gt;] (hrtimer_interrupt) from [&lt;c09ad664&gt;] (arch_timer_handler_virt+0x28/0x30)
  [  573.071536] [&lt;c09ad664&gt;] (arch_timer_handler_virt) from [&lt;c0190f50&gt;] (handle_percpu_devid_irq+0x8c/0x240)
  [  573.081109] [&lt;c0190f50&gt;] (handle_percpu_devid_irq) from [&lt;c018ab8c&gt;] (generic_handle_irq+0x34/0x44)
  [  573.090156] [&lt;c018ab8c&gt;] (generic_handle_irq) from [&lt;c018b194&gt;] (__handle_domain_irq+0x5c/0xb0)
  [  573.098857] [&lt;c018b194&gt;] (__handle_domain_irq) from [&lt;c052ac50&gt;] (gic_handle_irq+0x4c/0x90)
  [  573.107209] [&lt;c052ac50&gt;] (gic_handle_irq) from [&lt;c0100b0c&gt;] (__irq_svc+0x6c/0x90)
  [  573.114682] Exception stack(0xd90dfcf8 to 0xd90dfd40)
  [  573.119732] fce0:                                                       ffff0004 00000000
  [  573.127917] fd00: 00000000 00000000 00000000 00000000 00000000 00000000 d93493cc ffff0000
  [  573.136098] fd20: d2bc39c0 be926998 d90dfd58 d90dfd48 c09f3384 c01151f0 400d0013 ffffffff
  [  573.144281] [&lt;c0100b0c&gt;] (__irq_svc) from [&lt;c01151f0&gt;] (__arm_smccc_smc+0x10/0x20)
  [  573.151854] [&lt;c01151f0&gt;] (__arm_smccc_smc) from [&lt;c09f3384&gt;] (optee_smccc_smc+0x3c/0x44)
  [  573.159948] [&lt;c09f3384&gt;] (optee_smccc_smc) from [&lt;c09f4170&gt;] (optee_do_call_with_arg+0xb8/0x154)
  [  573.168735] [&lt;c09f4170&gt;] (optee_do_call_with_arg) from [&lt;c09f4638&gt;] (optee_invoke_func+0x110/0x190)
  [  573.177786] [&lt;c09f4638&gt;] (optee_invoke_func) from [&lt;c09f1ebc&gt;] (tee_ioctl+0x10b8/0x11c0)
  [  573.185879] [&lt;c09f1ebc&gt;] (tee_ioctl) from [&lt;c029f62c&gt;] (ksys_ioctl+0xe0/0xa4c)
  [  573.193101] [&lt;c029f62c&gt;] (ksys_ioctl) from [&lt;c0100060&gt;] (ret_fast_syscall+0x0/0x54)
  [  573.200750] Exception stack(0xd90dffa8 to 0xd90dfff0)
  [  573.205803] ffa0:                   be926bf4 be926a78 00000003 8010a403 be926908 004e3cf8
  [  573.213987] ffc0: be926bf4 be926a78 00000000 00000036 be926908 be926918 be9269b0 bffdf0f8
  [  573.222162] ffe0: b6d76fb0 be9268fc b6d66621 b6c7e0d8

seen on STM32 DK2 with CONFIG_PREEMPT_NONE.

Fixes: 9f02b8f61f29 ("tee: optee: add might_sleep for RPC requests")
Signed-off-by: Rouven Czerwinski &lt;r.czerwinski@pengutronix.de&gt;
Tested-by: Sumit Garg &lt;sumit.garg@linaro.org&gt;
[jw: added fixes tag + small adjustments in the code]
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
might_sleep() is a debugging aid and triggers rescheduling only for
certain kernel configurations. Replace with an explicit check and
reschedule to work for all kernel configurations. Fixes the following
trace:

  [  572.945146] rcu: INFO: rcu_sched self-detected stall on CPU
  [  572.949275] rcu:     0-....: (2099 ticks this GP) idle=572/1/0x40000002 softirq=7412/7412 fqs=974
  [  572.957964]  (t=2100 jiffies g=10393 q=21)
  [  572.962054] NMI backtrace for cpu 0
  [  572.965540] CPU: 0 PID: 165 Comm: xtest Not tainted 5.8.7 #1
  [  572.971188] Hardware name: STM32 (Device Tree Support)
  [  572.976354] [&lt;c011163c&gt;] (unwind_backtrace) from [&lt;c010b7f8&gt;] (show_stack+0x10/0x14)
  [  572.984080] [&lt;c010b7f8&gt;] (show_stack) from [&lt;c0511e4c&gt;] (dump_stack+0xc4/0xd8)
  [  572.991300] [&lt;c0511e4c&gt;] (dump_stack) from [&lt;c0519abc&gt;] (nmi_cpu_backtrace+0x90/0xc4)
  [  572.999130] [&lt;c0519abc&gt;] (nmi_cpu_backtrace) from [&lt;c0519bdc&gt;] (nmi_trigger_cpumask_backtrace+0xec/0x130)
  [  573.008706] [&lt;c0519bdc&gt;] (nmi_trigger_cpumask_backtrace) from [&lt;c01a5184&gt;] (rcu_dump_cpu_stacks+0xe8/0x110)
  [  573.018453] [&lt;c01a5184&gt;] (rcu_dump_cpu_stacks) from [&lt;c01a4234&gt;] (rcu_sched_clock_irq+0x7fc/0xa88)
  [  573.027416] [&lt;c01a4234&gt;] (rcu_sched_clock_irq) from [&lt;c01acdd0&gt;] (update_process_times+0x30/0x8c)
  [  573.036291] [&lt;c01acdd0&gt;] (update_process_times) from [&lt;c01bfb90&gt;] (tick_sched_timer+0x4c/0xa8)
  [  573.044905] [&lt;c01bfb90&gt;] (tick_sched_timer) from [&lt;c01adcc8&gt;] (__hrtimer_run_queues+0x174/0x358)
  [  573.053696] [&lt;c01adcc8&gt;] (__hrtimer_run_queues) from [&lt;c01aea2c&gt;] (hrtimer_interrupt+0x118/0x2bc)
  [  573.062573] [&lt;c01aea2c&gt;] (hrtimer_interrupt) from [&lt;c09ad664&gt;] (arch_timer_handler_virt+0x28/0x30)
  [  573.071536] [&lt;c09ad664&gt;] (arch_timer_handler_virt) from [&lt;c0190f50&gt;] (handle_percpu_devid_irq+0x8c/0x240)
  [  573.081109] [&lt;c0190f50&gt;] (handle_percpu_devid_irq) from [&lt;c018ab8c&gt;] (generic_handle_irq+0x34/0x44)
  [  573.090156] [&lt;c018ab8c&gt;] (generic_handle_irq) from [&lt;c018b194&gt;] (__handle_domain_irq+0x5c/0xb0)
  [  573.098857] [&lt;c018b194&gt;] (__handle_domain_irq) from [&lt;c052ac50&gt;] (gic_handle_irq+0x4c/0x90)
  [  573.107209] [&lt;c052ac50&gt;] (gic_handle_irq) from [&lt;c0100b0c&gt;] (__irq_svc+0x6c/0x90)
  [  573.114682] Exception stack(0xd90dfcf8 to 0xd90dfd40)
  [  573.119732] fce0:                                                       ffff0004 00000000
  [  573.127917] fd00: 00000000 00000000 00000000 00000000 00000000 00000000 d93493cc ffff0000
  [  573.136098] fd20: d2bc39c0 be926998 d90dfd58 d90dfd48 c09f3384 c01151f0 400d0013 ffffffff
  [  573.144281] [&lt;c0100b0c&gt;] (__irq_svc) from [&lt;c01151f0&gt;] (__arm_smccc_smc+0x10/0x20)
  [  573.151854] [&lt;c01151f0&gt;] (__arm_smccc_smc) from [&lt;c09f3384&gt;] (optee_smccc_smc+0x3c/0x44)
  [  573.159948] [&lt;c09f3384&gt;] (optee_smccc_smc) from [&lt;c09f4170&gt;] (optee_do_call_with_arg+0xb8/0x154)
  [  573.168735] [&lt;c09f4170&gt;] (optee_do_call_with_arg) from [&lt;c09f4638&gt;] (optee_invoke_func+0x110/0x190)
  [  573.177786] [&lt;c09f4638&gt;] (optee_invoke_func) from [&lt;c09f1ebc&gt;] (tee_ioctl+0x10b8/0x11c0)
  [  573.185879] [&lt;c09f1ebc&gt;] (tee_ioctl) from [&lt;c029f62c&gt;] (ksys_ioctl+0xe0/0xa4c)
  [  573.193101] [&lt;c029f62c&gt;] (ksys_ioctl) from [&lt;c0100060&gt;] (ret_fast_syscall+0x0/0x54)
  [  573.200750] Exception stack(0xd90dffa8 to 0xd90dfff0)
  [  573.205803] ffa0:                   be926bf4 be926a78 00000003 8010a403 be926908 004e3cf8
  [  573.213987] ffc0: be926bf4 be926a78 00000000 00000036 be926908 be926918 be9269b0 bffdf0f8
  [  573.222162] ffe0: b6d76fb0 be9268fc b6d66621 b6c7e0d8

seen on STM32 DK2 with CONFIG_PREEMPT_NONE.

Fixes: 9f02b8f61f29 ("tee: optee: add might_sleep for RPC requests")
Signed-off-by: Rouven Czerwinski &lt;r.czerwinski@pengutronix.de&gt;
Tested-by: Sumit Garg &lt;sumit.garg@linaro.org&gt;
[jw: added fixes tag + small adjustments in the code]
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'arm-soc-drivers-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc</title>
<updated>2020-12-17T00:38:41+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-12-17T00:38:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=48c1c40ab40cb087b992e7b77518c3a2926743cc'/>
<id>48c1c40ab40cb087b992e7b77518c3a2926743cc</id>
<content type='text'>
Pull ARM SoC driver updates from Arnd Bergmann:
 "There are a couple of subsystems maintained by other people that merge
  their drivers through the SoC tree, those changes include:

   - The SCMI firmware framework gains support for sensor notifications
     and for controlling voltage domains.

   - A large update for the Tegra memory controller driver, integrating
     it better with the interconnect framework

   - The memory controller subsystem gains support for Mediatek MT8192

   - The reset controller framework gains support for sharing pulsed
     resets

  For Soc specific drivers in drivers/soc, the main changes are

   - The Allwinner/sunxi MBUS gets a rework for the way it handles
     dma_map_ops and offsets between physical and dma address spaces.

   - An errata fix plus some cleanups for Freescale Layerscape SoCs

   - A cleanup for renesas drivers regarding MMIO accesses.

   - New SoC specific drivers for Mediatek MT8192 and MT8183 power
     domains

   - New SoC specific drivers for Aspeed AST2600 LPC bus control and SoC
     identification.

   - Core Power Domain support for Qualcomm MSM8916, MSM8939, SDM660 and
     SDX55.

   - A rework of the TI AM33xx 'genpd' power domain support to use
     information from DT instead of platform data

   - Support for TI AM64x SoCs

   - Allow building some Amlogic drivers as modules instead of built-in

  Finally, there are numerous cleanups and smaller bug fixes for
  Mediatek, Tegra, Samsung, Qualcomm, TI OMAP, Amlogic, Rockchips,
  Renesas, and Xilinx SoCs"

* tag 'arm-soc-drivers-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (222 commits)
  soc: mediatek: mmsys: Specify HAS_IOMEM dependency for MTK_MMSYS
  firmware: xilinx: Properly align function parameter
  firmware: xilinx: Add a blank line after function declaration
  firmware: xilinx: Remove additional newline
  firmware: xilinx: Fix kernel-doc warnings
  firmware: xlnx-zynqmp: fix compilation warning
  soc: xilinx: vcu: add missing register NUM_CORE
  soc: xilinx: vcu: use vcu-settings syscon registers
  dt-bindings: soc: xlnx: extract xlnx, vcu-settings to separate binding
  soc: xilinx: vcu: drop useless success message
  clk: samsung: mark PM functions as __maybe_unused
  soc: samsung: exynos-chipid: initialize later - with arch_initcall
  soc: samsung: exynos-chipid: order list of SoCs by name
  memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe()
  memory: ti-emif-sram: only build for ARMv7
  memory: tegra30: Support interconnect framework
  memory: tegra20: Support hardware versioning and clean up OPP table initialization
  dt-bindings: memory: tegra20-emc: Document opp-supported-hw property
  soc: rockchip: io-domain: Fix error return code in rockchip_iodomain_probe()
  reset-controller: ti: force the write operation when assert or deassert
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ARM SoC driver updates from Arnd Bergmann:
 "There are a couple of subsystems maintained by other people that merge
  their drivers through the SoC tree, those changes include:

   - The SCMI firmware framework gains support for sensor notifications
     and for controlling voltage domains.

   - A large update for the Tegra memory controller driver, integrating
     it better with the interconnect framework

   - The memory controller subsystem gains support for Mediatek MT8192

   - The reset controller framework gains support for sharing pulsed
     resets

  For Soc specific drivers in drivers/soc, the main changes are

   - The Allwinner/sunxi MBUS gets a rework for the way it handles
     dma_map_ops and offsets between physical and dma address spaces.

   - An errata fix plus some cleanups for Freescale Layerscape SoCs

   - A cleanup for renesas drivers regarding MMIO accesses.

   - New SoC specific drivers for Mediatek MT8192 and MT8183 power
     domains

   - New SoC specific drivers for Aspeed AST2600 LPC bus control and SoC
     identification.

   - Core Power Domain support for Qualcomm MSM8916, MSM8939, SDM660 and
     SDX55.

   - A rework of the TI AM33xx 'genpd' power domain support to use
     information from DT instead of platform data

   - Support for TI AM64x SoCs

   - Allow building some Amlogic drivers as modules instead of built-in

  Finally, there are numerous cleanups and smaller bug fixes for
  Mediatek, Tegra, Samsung, Qualcomm, TI OMAP, Amlogic, Rockchips,
  Renesas, and Xilinx SoCs"

* tag 'arm-soc-drivers-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (222 commits)
  soc: mediatek: mmsys: Specify HAS_IOMEM dependency for MTK_MMSYS
  firmware: xilinx: Properly align function parameter
  firmware: xilinx: Add a blank line after function declaration
  firmware: xilinx: Remove additional newline
  firmware: xilinx: Fix kernel-doc warnings
  firmware: xlnx-zynqmp: fix compilation warning
  soc: xilinx: vcu: add missing register NUM_CORE
  soc: xilinx: vcu: use vcu-settings syscon registers
  dt-bindings: soc: xlnx: extract xlnx, vcu-settings to separate binding
  soc: xilinx: vcu: drop useless success message
  clk: samsung: mark PM functions as __maybe_unused
  soc: samsung: exynos-chipid: initialize later - with arch_initcall
  soc: samsung: exynos-chipid: order list of SoCs by name
  memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe()
  memory: ti-emif-sram: only build for ARMv7
  memory: tegra30: Support interconnect framework
  memory: tegra20: Support hardware versioning and clean up OPP table initialization
  dt-bindings: memory: tegra20-emc: Document opp-supported-hw property
  soc: rockchip: io-domain: Fix error return code in rockchip_iodomain_probe()
  reset-controller: ti: force the write operation when assert or deassert
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>optee: add writeback to valid memory type</title>
<updated>2020-11-25T11:51:52+00:00</updated>
<author>
<name>Rui Miguel Silva</name>
<email>rui.silva@linaro.org</email>
</author>
<published>2020-11-13T15:06:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=853735e404244f5496cdb6188c5ed9a0f9627ee6'/>
<id>853735e404244f5496cdb6188c5ed9a0f9627ee6</id>
<content type='text'>
Only in smp systems the cache policy is setup as write alloc, in
single cpu systems the cache policy is set as writeback and it is
normal memory, so, it should pass the is_normal_memory check in the
share memory registration.

Add the right condition to make it work in no smp systems.

Fixes: cdbcf83d29c1 ("tee: optee: check type of registered shared memory")
Signed-off-by: Rui Miguel Silva &lt;rui.silva@linaro.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only in smp systems the cache policy is setup as write alloc, in
single cpu systems the cache policy is set as writeback and it is
normal memory, so, it should pass the is_normal_memory check in the
share memory registration.

Add the right condition to make it work in no smp systems.

Fixes: cdbcf83d29c1 ("tee: optee: check type of registered shared memory")
Signed-off-by: Rui Miguel Silva &lt;rui.silva@linaro.org&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'optee-use-uuid-api-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee into arm/drivers</title>
<updated>2020-10-26T14:38:16+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2020-10-26T14:38:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6bc9d7391ad66cfe70d5fd4b3bc6dc31c713ec36'/>
<id>6bc9d7391ad66cfe70d5fd4b3bc6dc31c713ec36</id>
<content type='text'>
Use UUID API to export the UUID

Uses export_uuid() to export and uuid_t to an u8 array instead of depending
on the internals of uuid_t.

* tag 'optee-use-uuid-api-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
  tee: optee: Use UUID API for exporting the UUID

Link: https://lore.kernel.org/r/20201013063612.GA3325842@jade
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use UUID API to export the UUID

Uses export_uuid() to export and uuid_t to an u8 array instead of depending
on the internals of uuid_t.

* tag 'optee-use-uuid-api-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
  tee: optee: Use UUID API for exporting the UUID

Link: https://lore.kernel.org/r/20201013063612.GA3325842@jade
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tee: optee: Use UUID API for exporting the UUID</title>
<updated>2020-10-13T06:03:18+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2020-04-22T13:00:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=57222a1be27e06ecb81cc2f945e897814d5f461c'/>
<id>57222a1be27e06ecb81cc2f945e897814d5f461c</id>
<content type='text'>
There is export_uuid() function which exports uuid_t to the u8 array.
Use it instead of open coding variant.

This allows to hide the uuid_t internals.

Reviewed-by: Sumit Garg &lt;sumit.garg@linaro.org&gt;
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is export_uuid() function which exports uuid_t to the u8 array.
Use it instead of open coding variant.

This allows to hide the uuid_t internals.

Reviewed-by: Sumit Garg &lt;sumit.garg@linaro.org&gt;
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'optee-i2c-fix-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee into arm/drivers</title>
<updated>2020-09-13T18:16:40+00:00</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2020-09-13T18:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0bd1937ad844597442a967fdced04c4ce40570b6'/>
<id>0bd1937ad844597442a967fdced04c4ce40570b6</id>
<content type='text'>
Make sure I2C functions used in OP-TEE are reachable with IS_REACHABLE()

* tag 'optee-i2c-fix-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
  drivers: optee: fix i2c build issue

Link: https://lore.kernel.org/r/20200901101806.GA3286324@jade
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure I2C functions used in OP-TEE are reachable with IS_REACHABLE()

* tag 'optee-i2c-fix-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
  drivers: optee: fix i2c build issue

Link: https://lore.kernel.org/r/20200901101806.GA3286324@jade
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: optee: fix i2c build issue</title>
<updated>2020-09-01T10:03:16+00:00</updated>
<author>
<name>Jorge Ramirez-Ortiz</name>
<email>jorge@foundries.io</email>
</author>
<published>2020-08-31T16:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=539f8fc253ece5501fdea1a6aa227d0618374111'/>
<id>539f8fc253ece5501fdea1a6aa227d0618374111</id>
<content type='text'>
When the optee driver is compiled into the kernel while the i2c core
is configured as a module, the i2c symbols are not available.

This commit addresses the situation by disabling the i2c support for
this use case while allowing it in all other scenarios:

 i2c=y, optee=y
 i2c=m, optee=m
 i2c=y, optee=m
 i2c=m, optee=y (not supported)

Fixes: c05210ab9757 ("drivers: optee: allow op-tee to access devices on the i2c bus")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Jorge Ramirez-Ortiz &lt;jorge@foundries.io&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the optee driver is compiled into the kernel while the i2c core
is configured as a module, the i2c symbols are not available.

This commit addresses the situation by disabling the i2c support for
this use case while allowing it in all other scenarios:

 i2c=y, optee=y
 i2c=m, optee=m
 i2c=y, optee=m
 i2c=m, optee=y (not supported)

Fixes: c05210ab9757 ("drivers: optee: allow op-tee to access devices on the i2c bus")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Jorge Ramirez-Ortiz &lt;jorge@foundries.io&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'tee-memref-null-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers</title>
<updated>2020-08-21T16:20:30+00:00</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2020-08-21T16:20:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d4ee2d35009adec016dccb47416dda411a791072'/>
<id>d4ee2d35009adec016dccb47416dda411a791072</id>
<content type='text'>
Handle NULL pointer indication from tee client

Adds support to indicate NULL pointers instead of a valid buffer when
querying the needed size of a buffer.

* tag 'tee-memref-null-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee:
  driver: tee: Handle NULL pointer indication from client

Link: https://lore.kernel.org/r/20200821102535.GA1872111@jade
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Handle NULL pointer indication from tee client

Adds support to indicate NULL pointers instead of a valid buffer when
querying the needed size of a buffer.

* tag 'tee-memref-null-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee:
  driver: tee: Handle NULL pointer indication from client

Link: https://lore.kernel.org/r/20200821102535.GA1872111@jade
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: optee: allow op-tee to access devices on the i2c bus</title>
<updated>2020-08-21T09:41:45+00:00</updated>
<author>
<name>Jorge Ramirez-Ortiz</name>
<email>jorge@foundries.io</email>
</author>
<published>2020-08-14T11:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c05210ab975771e161427eb47696b869d820bdaf'/>
<id>c05210ab975771e161427eb47696b869d820bdaf</id>
<content type='text'>
Some secure elements like NXP's SE050 sit on I2C buses. For OP-TEE to
control this type of cryptographic devices it needs coordinated access
to the bus, so collisions and RUNTIME_PM dont get in the way.

This trampoline driver allow OP-TEE to access them.

Signed-off-by: Jorge Ramirez-Ortiz &lt;jorge@foundries.io&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some secure elements like NXP's SE050 sit on I2C buses. For OP-TEE to
control this type of cryptographic devices it needs coordinated access
to the bus, so collisions and RUNTIME_PM dont get in the way.

This trampoline driver allow OP-TEE to access them.

Signed-off-by: Jorge Ramirez-Ortiz &lt;jorge@foundries.io&gt;
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>driver: tee: Handle NULL pointer indication from client</title>
<updated>2020-08-21T06:55:13+00:00</updated>
<author>
<name>Cedric Neveux</name>
<email>cedric.neveux@nxp.com</email>
</author>
<published>2019-03-04T07:54:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ba171d3f0850003216fd1a85190d17b1feddb961'/>
<id>ba171d3f0850003216fd1a85190d17b1feddb961</id>
<content type='text'>
TEE Client introduce a new capability "TEE_GEN_CAP_MEMREF_NULL"
to handle the support of the shared memory buffer with a NULL pointer.

This capability depends on TEE Capabilities and driver support.
Driver and TEE exchange capabilities at driver initialization.

Signed-off-by: Michael Whitfield &lt;michael.whitfield@nxp.com&gt;
Signed-off-by: Cedric Neveux &lt;cedric.neveux@nxp.com&gt;
Reviewed-by: Joakim Bech &lt;joakim.bech@linaro.org&gt;
Tested-by: Joakim Bech &lt;joakim.bech@linaro.org&gt; (QEMU)
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
TEE Client introduce a new capability "TEE_GEN_CAP_MEMREF_NULL"
to handle the support of the shared memory buffer with a NULL pointer.

This capability depends on TEE Capabilities and driver support.
Driver and TEE exchange capabilities at driver initialization.

Signed-off-by: Michael Whitfield &lt;michael.whitfield@nxp.com&gt;
Signed-off-by: Cedric Neveux &lt;cedric.neveux@nxp.com&gt;
Reviewed-by: Joakim Bech &lt;joakim.bech@linaro.org&gt;
Tested-by: Joakim Bech &lt;joakim.bech@linaro.org&gt; (QEMU)
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
