aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware
AgeCommit message (Collapse)Author
2019-11-10Merge branch 'v5.2/standard/base' into v5.2/standard/xlnx-socBruce Ashfield
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-09firmware: google: increment VPD key_len properlyBrian Norris
commit 442f1e746e8187b9deb1590176f6b0ff19686b11 upstream. Commit 4b708b7b1a2c ("firmware: google: check if size is valid when decoding VPD data") adds length checks, but the new vpd_decode_entry() function botched the logic -- it adds the key length twice, instead of adding the key and value lengths separately. On my local system, this means vpd.c's vpd_section_create_attribs() hits an error case after the first attribute it parses, since it's no longer looking at the correct offset. With this patch, I'm back to seeing all the correct attributes in /sys/firmware/vpd/... Fixes: 4b708b7b1a2c ("firmware: google: check if size is valid when decoding VPD data") Cc: <stable@vger.kernel.org> Cc: Hung-Te Lin <hungte@chromium.org> Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> Link: https://lore.kernel.org/r/20190930214522.240680-1-briannorris@chromium.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2019-11-09efivar/ssdt: Don't iterate over EFI vars if no SSDT override was specifiedArd Biesheuvel
commit c05f8f92b701576b615f30aac31fabdc0648649b upstream. The kernel command line option efivar_ssdt= allows the name to be specified of an EFI variable containing an ACPI SSDT table that should be loaded into memory by the OS, and treated as if it was provided by the firmware. Currently, that code will always iterate over the EFI variables and compare each name with the provided name, even if the command line option wasn't set to begin with. So bail early when no variable name was provided. This works around a boot regression on the 2012 Mac Pro, as reported by Scott. Tested-by: Scott Talbert <swt@techie.net> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: <stable@vger.kernel.org> # v4.9+ Cc: Ben Dooks <ben.dooks@codethink.co.uk> Cc: Dave Young <dyoung@redhat.com> Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Cc: Jerry Snitselaar <jsnitsel@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Lukas Wunner <lukas@wunner.de> Cc: Lyude Paul <lyude@redhat.com> Cc: Matthew Garrett <mjg59@google.com> Cc: Octavian Purdila <octavian.purdila@intel.com> Cc: Peter Jones <pjones@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Cc: linux-integrity@vger.kernel.org Fixes: 475fb4e8b2f4 ("efi / ACPI: load SSTDs from EFI variables") Link: https://lkml.kernel.org/r/20191002165904.8819-3-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2019-10-10Merge branch 'v5.2/standard/base' into v5.2/standard/xlnx-socBruce Ashfield
2019-10-05firmware: arm_scmi: Check if platform has released shmem before usingSudeep Holla
[ Upstream commit 9dc34d635c67e57051853855c43249408641a5ab ] Sometimes platfom may take too long to respond to the command and OS might timeout before platform transfer the ownership of the shared memory region to the OS with the response. Since the mailbox channel associated with the channel is freed and new commands are dispatch on the same channel, OS needs to wait until it gets back the ownership. If not, either OS may end up overwriting the platform response for the last command(which is fine as OS timed out that command) or platform might overwrite the payload for the next command with the response for the old. The latter is problematic as platform may end up interpretting the response as the payload. In order to avoid such race, let's wait until the OS gets back the ownership before we prepare the shared memory with the payload for the next command. Reported-by: Jim Quinlan <james.quinlan@broadcom.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-10-05efi: cper: print AER info of PCIe fatal errorXiaofei Tan
[ Upstream commit b194a77fcc4001dc40aecdd15d249648e8a436d1 ] AER info of PCIe fatal error is not printed in the current driver. Because APEI driver will panic directly for fatal error, and can't run to the place of printing AER info. An example log is as following: {763}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 11 {763}[Hardware Error]: event severity: fatal {763}[Hardware Error]: Error 0, type: fatal {763}[Hardware Error]: section_type: PCIe error {763}[Hardware Error]: port_type: 0, PCIe end point {763}[Hardware Error]: version: 4.0 {763}[Hardware Error]: command: 0x0000, status: 0x0010 {763}[Hardware Error]: device_id: 0000:82:00.0 {763}[Hardware Error]: slot: 0 {763}[Hardware Error]: secondary_bus: 0x00 {763}[Hardware Error]: vendor_id: 0x8086, device_id: 0x10fb {763}[Hardware Error]: class_code: 000002 Kernel panic - not syncing: Fatal hardware error! This issue was imported by the patch, '37448adfc7ce ("aerdrv: Move cper_print_aer() call out of interrupt context")'. To fix this issue, this patch adds print of AER info in cper_print_pcie() for fatal error. Here is the example log after this patch applied: {24}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 10 {24}[Hardware Error]: event severity: fatal {24}[Hardware Error]: Error 0, type: fatal {24}[Hardware Error]: section_type: PCIe error {24}[Hardware Error]: port_type: 0, PCIe end point {24}[Hardware Error]: version: 4.0 {24}[Hardware Error]: command: 0x0546, status: 0x4010 {24}[Hardware Error]: device_id: 0000:01:00.0 {24}[Hardware Error]: slot: 0 {24}[Hardware Error]: secondary_bus: 0x00 {24}[Hardware Error]: vendor_id: 0x15b3, device_id: 0x1019 {24}[Hardware Error]: class_code: 000002 {24}[Hardware Error]: aer_uncor_status: 0x00040000, aer_uncor_mask: 0x00000000 {24}[Hardware Error]: aer_uncor_severity: 0x00062010 {24}[Hardware Error]: TLP Header: 000000c0 01010000 00000001 00000000 Kernel panic - not syncing: Fatal hardware error! Fixes: 37448adfc7ce ("aerdrv: Move cper_print_aer() call out of interrupt context") Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com> Reviewed-by: James Morse <james.morse@arm.com> [ardb: put parens around terms of && operator] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-10-05firmware: qcom_scm: Use proper types for dma mappingsStephen Boyd
[ Upstream commit 6e37ccf78a53296c6c7bf426065762c27829eb84 ] We need to use the proper types and convert between physical addresses and dma addresses here to avoid mismatch warnings. This is especially important on systems with a different size for dma addresses and physical addresses. Otherwise, we get the following warning: drivers/firmware/qcom_scm.c: In function "qcom_scm_assign_mem": drivers/firmware/qcom_scm.c:469:47: error: passing argument 3 of "dma_alloc_coherent" from incompatible pointer type [-Werror=incompatible-pointer-types] We also fix the size argument to dma_free_coherent() because that size doesn't need to be aligned after it's already aligned on the allocation size. In fact, dma debugging expects the same arguments to be passed to both the allocation and freeing sides of the functions so changing the size is incorrect regardless. Reported-by: Ian Jackson <ian.jackson@citrix.com> Cc: Ian Jackson <ian.jackson@citrix.com> Cc: Julien Grall <julien.grall@arm.com> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org> Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-09-24Merge branch 'v5.2/standard/base' into v5.2/standard/xlnx-socBruce Ashfield
2019-09-21firmware: google: check if size is valid when decoding VPD dataHung-Te Lin
commit 4b708b7b1a2c09fbdfff6b942ebe3a160213aacd upstream. The VPD implementation from Chromium Vital Product Data project used to parse data from untrusted input without checking if the meta data is invalid or corrupted. For example, the size from decoded content may be negative value, or larger than whole input buffer. Such invalid data may cause buffer overflow. To fix that, the size parameters passed to vpd_decode functions should be changed to unsigned integer (u32) type, and the parsing of entry header should be refactored so every size field is correctly verified before starting to decode. Fixes: ad2ac9d5c5e0 ("firmware: Google VPD: import lib_vpd source files") Signed-off-by: Hung-Te Lin <hungte@chromium.org> Cc: stable <stable@vger.kernel.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Link: https://lore.kernel.org/r/20190830022402.214442-1-hungte@chromium.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-09-19Merge branch 'v5.2/standard/base' into v5.2/standard/xlnx-socBruce Ashfield
2019-09-19firmware: ti_sci: Always request response from firmwareAndrew F. Davis
commit 66f030eac257a572fbedab3d9646d87d647351fd upstream. TI-SCI firmware will only respond to messages when the TI_SCI_FLAG_REQ_ACK_ON_PROCESSED flag is set. Most messages already do this, set this for the ones that do not. This will be enforced in future firmware that better match the TI-SCI specifications, this patch will not break users of existing firmware. Fixes: aa276781a64a ("firmware: Add basic support for TI System Control Interface (TI-SCI) protocol") Signed-off-by: Andrew F. Davis <afd@ti.com> Acked-by: Nishanth Menon <nm@ti.com> Tested-by: Alejandro Hernandez <ajhernandez@ti.com> Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-19Merge branch 'v5.2/standard/base' into v5.2/standard/xlnx-socBruce Ashfield
2019-08-16iscsi_ibft: make ISCSI_IBFT dependson ACPI instead of ISCSI_IBFT_FINDThomas Tai
[ Upstream commit 94bccc34071094c165c79b515d21b63c78f7e968 ] iscsi_ibft can use ACPI to find the iBFT entry during bootup, currently, ISCSI_IBFT depends on ISCSI_IBFT_FIND which is a X86 legacy way to find the iBFT by searching through the low memory. This patch changes the dependency so that other arch like ARM64 can use ISCSI_IBFT as long as the arch supports ACPI. ibft_init() needs to use the global variable ibft_addr declared in iscsi_ibft_find.c. A #ifndef CONFIG_ISCSI_IBFT_FIND is needed to declare the variable if CONFIG_ISCSI_IBFT_FIND is not selected. Moving ibft_addr into the iscsi_ibft.c does not work because if ISCSI_IBFT is selected as a module, the arch/x86/kernel/setup.c won't be able to find the variable at compile time. Signed-off-by: Thomas Tai <thomas.tai@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-08-12Merge branch 'v5.2/standard/base' into v5.2/standard/xlnx-socBruce Ashfield
2019-08-06firmware/psci: psci_checker: Park kthreads before stopping themJean-Philippe Brucker
[ Upstream commit 92e074acf6f7694e96204265eb18ac113f546e80 ] Since commit 85f1abe0019f ("kthread, sched/wait: Fix kthread_parkme() completion issue"), kthreads that are bound to a CPU must be parked before being stopped. At the moment the PSCI checker calls kthread_stop() directly on the suspend kthread, which triggers the following warning: [ 6.068288] WARNING: CPU: 1 PID: 1 at kernel/kthread.c:398 __kthread_bind_mask+0x20/0x78 ... [ 6.190151] Call trace: [ 6.192566] __kthread_bind_mask+0x20/0x78 [ 6.196615] kthread_unpark+0x74/0x80 [ 6.200235] kthread_stop+0x44/0x1d8 [ 6.203769] psci_checker+0x3bc/0x484 [ 6.207389] do_one_initcall+0x48/0x260 [ 6.211180] kernel_init_freeable+0x2c8/0x368 [ 6.215488] kernel_init+0x10/0x100 [ 6.218935] ret_from_fork+0x10/0x1c [ 6.222467] ---[ end trace e05e22863d043cd3 ]--- kthread_unpark() tries to bind the thread to its CPU and aborts with a WARN() if the thread wasn't in TASK_PARKED state. Park the kthreads before stopping them. Fixes: 85f1abe0019f ("kthread, sched/wait: Fix kthread_parkme() completion issue") Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-04clk: zynqmp: Warn user if clock user are more than allowedRajan Vaja
Warn user if clock is used by more than allowed devices. This check is done by firmware and returns respective error code. Upon receiving error code for excessive user, warn user for the same. This change is done to restrict VPLL use count. It is assumed that VPLL is used by one user only. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Reviewed-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04drivers: firmware: Add Pdi load API supportJolly Shah
This patch adds load pdi api support to enable pdi/partial loading from linux. Programmable Device Image (PDI) is combination of headers, images and bitstream files to be loaded. Partial PDI is partial set of image/ images to be loaded. Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04zynqmp-secure: Fix for crash seen with secure image loadingKalyani Akula
This patch resolves the crash/backtrace seen with secure load. arch_setup_dma_ops is not setting coherent mask due to which we see a warning (added recently in dma_mapping.h) and backtrace along with it. So, instead of using arch_setup_dma_ops we used of_dma_configure. Signed-off-by: Kalyani Akula <kalyani.akula@xilinx.com> Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp-secure: Correct error handling for secure_loadKalyani Akula
This patch modifies the secure_load call according to the new prototype in zynqmp.c Signed-off-by: Kalyani Akula <kalyani.akula@xilinx.com> Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Modify zynqmp_pm_secure_load to return only dst.Kalyani Akula
This extra parameter added earlier to know proper error code from the SMC, but earlier change broken backward compatibility. So, handling the same in PMU by displaying proper error code using PmErr. Signed-off-by: Kalyani Akula <kalyani.akula@xilinx.com> Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add firmware support for remoteprocMichal Simek
Add firmware remoteproc hooks. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add qspi firmware interfaceMichal Simek
Add support for QSPI ioctl functions and enums. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Extend driver for versalRajan Vaja
Add Versal compatible string to support Versal binding. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04drivers: firmware: xilinx: Add support for feature checkRavi Patel
Query for corresponding feature before calling EEMI API from the driver. Signed-off-by: Ravi Patel <ravi.patel@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04drivers: firmware: xilinx: Update zynqmp firmware driver for versalTejas Patel
zynqmp firmware driver is used for versal also. Check compatible for "xlnx,versal" also, instead of "xlnx, zynqmp" only. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add sysfs and IOCTL to set boot health statusRajan Vaja
Add sysfs interface to set boot health status from userspace. Add IOCTL ID used by this interface to communicate with firmware. If PMUFW is compiled with CHECK_HEALTHY_BOOT, it will check the healthy bit on FPD WDT expiration. If healthy bit is set by a user application running in Linux, PMUFW will do APU only restart. If healthy bit is not set during FPD WDT expiration, PMUFW will do system restart. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add sysfs to set shutdown scopeRajan Vaja
The Linux shutdown functionality implemented via PSCI system_off does not include an option to set a scope, i.e. which parts of the system to shut down. This patch creates sysfs that allows to set the shutdown scope for the next shutdown request. When the next shutdown is performed, the platform specific portion of PSCI-system_off can use the chosen shutdown scope. Signed-off-by: Rajan Vaja <rajanv@xilinx.com> Signed-off-by: Stefan Krsmanovic <stefan.krsmanovic@aggios.com> Acked-by: Will Wong <willw@xilinx.com> Acked-by: Jolly Shah <jollys@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add zynqmp SGMII firmware supportMichal Simek
firmware interface. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add ULPI reset supportMichal Simek
Add missing IOCTLs for ULPI reset. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04zynqmp: firmware: Adds a driver for loading secure partition from LinuxKalyani Akula
This patch adds a driver for loading secure partition from Linux. Signed-off-by: Kalyani Akula <kalyani.akula@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add support for secure_imageMichal Simek
Secure image EEMI interface. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add AFI ioctrl supportMichal Simek
Just wire AFI ioctls. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: xilinx: Add pm api function for PL readbackAppana Durga Kedareswara rao
This patch adds PM API for performing PL configuration readback. Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com> Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add missing debug firmware interfacesMichal Simek
Add xilinx private debug interfaces which are not in mainline yet. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add pm_config_reg_access firmware callMichal Simek
Provide access for configuration CSU/PMU registers. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04drivers: firmware: xilinx: Add sysfs interfaceJolly Shah
Add Firmware-ggs sysfs interface which provides read/write interface to global storage registers. Signed-off-by: Jolly Shah <jollys@xilinx.com> Signed-off-by: Rajan Vaja <rajanv@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add sysfs interfaceMichal Simek
Wire sysfs interface. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04zynqmp: firmware: Adds zynqmp-aes supportKalyani Akula
This patch adds zynqmp_pm_aes_engine support for AES encryption and decryption from the Linux. Signed-off-by: Kalyani Akula <kalyani.akula@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04soc: zynqmp: Added pm api functions for RSA and SHANava kishore Manne
This patch adds PM APIs to provided access to xilsecure library to calculate SHA3 hash on the data or decrypt the data by using RSA public or private keys respectively. Signed-off-by: Durga Challa <vnsldurg@xilinx.com> Signed-off-by: Nava kishore Manne <navam@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Add pinctrl interfaceMichal Simek
Add EEMI calls. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04soc: zynqmp: Add mmc tap delay programmingSai Krishna Potthuri
This patch adds support for programming the tap delays required for mmc driver. 'arasan_zynqmp_set_tap_delay' and 'zynqmp_dll_reset' API's are exported so that mmc driver will use these API's for tap delay programming. Signed-off-by: Sai Krishna Potthuri <lakshmis@xilinx.com> Signed-off-by: Manish Narani <mnarani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04zynqmp: firmware: provides support to access efuseDurga Challa
This patch adds support for accessing efuse memory from Linux. Signed-off-by: Durga Challa <vnsl.durga.challa@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-07-04firmware: zynqmp: Fix chip-id kerneldoc formatMichal Simek
Use tabs instead of spaces. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [Quanyang: original patch taken from https://github.com/Xilinx/linux-xlnx.git xlnx_rebase_v4.19] Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
2019-06-29Merge branch 'efi-urgent-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull EFI fixes from Ingo Molnar: "Four fixes: - fix a kexec crash on arm64 - fix a reboot crash on some Android platforms - future-proof the code for upcoming ACPI 6.2 changes - fix a build warning on x86" * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: efibc: Replace variable set function in notifier call x86/efi: fix a -Wtype-limits compilation warning efi/bgrt: Drop BGRT status field reserved bits check efi/memreserve: deal with memreserve entries in unmapped memory
2019-06-22efibc: Replace variable set function in notifier callTian Baofeng
Replace the variable set function from "efivar_entry_set" to "efivar_entry_set_safe" in efibc panic notifier. In safe function parameter "block" will set to false and will call "efivar_entry_set_nonblocking"to set efi variables. efivar_entry_set_nonblocking is guaranteed to not block and is suitable for calling from crash/panic handlers. In UEFI android platform, when warm reset happens, with this change, efibc will not block the reboot process. Otherwise, set variable will call queue work and send to other offlined cpus then cause another panic, finally will cause reboot failure. Signed-off-by: Tian Baofeng <baofeng.tian@intel.com> Signed-off-by: Luo XinanX <xinanx.luo@intel.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2019-06-21Merge tag 'spdx-5.2-rc6' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx Pull still more SPDX updates from Greg KH: "Another round of SPDX updates for 5.2-rc6 Here is what I am guessing is going to be the last "big" SPDX update for 5.2. It contains all of the remaining GPLv2 and GPLv2+ updates that were "easy" to determine by pattern matching. The ones after this are going to be a bit more difficult and the people on the spdx list will be discussing them on a case-by-case basis now. Another 5000+ files are fixed up, so our overall totals are: Files checked: 64545 Files with SPDX: 45529 Compared to the 5.1 kernel which was: Files checked: 63848 Files with SPDX: 22576 This is a huge improvement. Also, we deleted another 20000 lines of boilerplate license crud, always nice to see in a diffstat" * tag 'spdx-5.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx: (65 commits) treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 507 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 506 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 505 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 504 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 503 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 501 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 498 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 497 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 496 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 495 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 491 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 489 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 488 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 487 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 485 ...
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner
Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Enrico Weigelt <info@metux.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 497Thomas Gleixner
Based on 1 normalized pattern(s): this file is part of the linux kernel and is made available under the terms of the gnu general public license version 2 extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 28 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Enrico Weigelt <info@metux.net> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.534229504@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-18firmware: trusted_foundations: add ARMv7 dependencyArnd Bergmann
The "+sec" extension is invalid for older ARM architectures, but the code can now be built on any ARM configuration: /tmp/trusted_foundations-2d0882.s: Assembler messages: /tmp/trusted_foundations-2d0882.s:194: Error: architectural extension `sec' is not allowed for the current base architecture /tmp/trusted_foundations-2d0882.s:201: Error: selected processor does not support `smc #0' in ARM mode /tmp/trusted_foundations-2d0882.s:213: Error: architectural extension `sec' is not allowed for the current base architecture /tmp/trusted_foundations-2d0882.s:220: Error: selected processor does not support `smc #0' in ARM mode Add a dependency on ARMv7 for the build. Fixes: 4cb5d9eca143 ("firmware: Move Trusted Foundations support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Olof Johansson <olof@lixom.net>
2019-06-16Merge tag 'imx-fixes-5.2' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes i.MX fixes for 5.2: - A build fix for soc-imx8 driver which needs SOC_BUS support. To avoid dealing with the dependency for every single i.MX SoC bus driver, we selects at from architecture level. - A fix on i.MX SCU firmware driver to ensure SCU irq is enabled only after IPC is ready. - A regression fix on cpuidle-imx6sx driver, which causes some characters loss on serial communication. * tag 'imx-fixes-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX firmware: imx: SCU irq should ONLY be enabled after SCU IPC is ready arm64: imx: Fix build error without CONFIG_SOC_BUS Signed-off-by: Olof Johansson <olof@lixom.net>