[PATCH v3 3/3] dt-bindings: display: sii902x: Add supply bindings

2020-10-20 Thread Alexandru Gagniuc
The sii902x chip family requires IO and core voltages to reach the correct voltage before chip initialization. Add binding for describing the two supplies. Signed-off-by: Alexandru Gagniuc Acked-by: Rob Herring --- Changes since v1, v2: * Nothing. version incremented to stay in sync with

[PATCH v3 2/3] drm/bridge: sii902x: Enable I/O and core VCC supplies if present

2020-10-20 Thread Alexandru Gagniuc
that case everything will work like before. This was observed on a STM32MP157C-DK2 booting in u-boot falcon mode. On this board, the supplies would be set by the second stage bootloader, which does not run in falcon mode. Signed-off-by: Alexandru Gagniuc --- Changes since v1: * Fix return code af

[PATCH v3 1/3] drm/bridge: sii902x: Refactor init code into separate function

2020-10-20 Thread Alexandru Gagniuc
Separate the hardware initialization code from setting up the data structures and parsing the device tree. The purpose of this change is to provide a single exit point and avoid a waterfall of 'goto's in the subsequent patch. Signed-off-by: Alexandru Gagniuc --- Changes since

[PATCH v2 2/2] dt-bindings: display: sii902x: Add supply bindings

2020-09-28 Thread Alexandru Gagniuc
The sii902x chip family requires IO and core voltages to reach the correct voltage before chip initialization. Add binding for describing the two supplies. Signed-off-by: Alexandru Gagniuc --- Changes since v1: * Nothing. version incremented to stay in sync with sii902x regulator patch

[PATCH v2 1/2] drm/bridge: sii902x: Enable I/O and core VCC supplies if present

2020-09-28 Thread Alexandru Gagniuc
that case everything will work like before. This was observed on a STM32MP157C-DK2 booting in u-boot falcon mode. On this board, the supplies would be set by the second stage bootloader, which does not run in falcon mode. Signed-off-by: Alexandru Gagniuc --- Changes since v1: * Fix return code af

[PATCH 2/2] dt-bindings: display: sii902x: Add supply bindings

2020-09-24 Thread Alexandru Gagniuc
The sii902x chip family requires IO and core voltages to reach the correct voltage before chip initialization. Add binding for describing the two supplies. Signed-off-by: Alexandru Gagniuc --- Documentation/devicetree/bindings/display/bridge/sii902x.txt | 4 1 file changed, 4 insertions

[PATCH 1/2] drm/bridge: sii902x: Enable I/O and core VCC supplies if present

2020-09-24 Thread Alexandru Gagniuc
that case everything will work like before. This was observed on a STM32MP157C-DK2 booting in u-boot falcon mode. On this board, the supplies would be set by the second stage bootloader, which does not run in falcon mode. Signed-off-by: Alexandru Gagniuc --- drivers/gpu/drm/b

[PATCH v3 3/4] PCI: hotplug: Wait for PDS when in-band presence is disabled

2019-04-19 Thread Alexandru Gagniuc
. Thus, when we know PDS only reflects out-of-band presence, it's worthwhile to wait the extra second and make sure the card is properly mated before loading the driver. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_hpc.c | 22 ++ 1 file changed, 22 inser

[PATCH v3 4/4] PCI: hotplug: Add quirk For Dell nvme pcie switches

2019-04-19 Thread Alexandru Gagniuc
TCAP2) register. Because this does not conform to the PCIe spec, add a quirk to let hotplug code know to expect and handle this. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_hpc.c | 21 + include/linux/pci.h | 1 + 2 files changed, 22 inser

[PATCH v3 0/4] PCI: pciehp: Do not turn off slot if presence comes up after link

2019-04-19 Thread Alexandru Gagniuc
f the leaked PCIe 4.0 specs do not have this change. Changes since v2: * Dropped [RFC] from title * Addressed style issue found by Lukas Alexandru Gagniuc (4): PCI: hotplug: Add support for disabling in-band presence PCI: pciehp: Do not turn off slot if presence comes up after link PCI: ho

[PATCH v3 2/4] PCI: pciehp: Do not turn off slot if presence comes up after link

2019-04-19 Thread Alexandru Gagniuc
ve, a lack of a link state change event guarantees we have the same device, and shutdown is not needed. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_ctrl.c | 24 1 file changed, 24 insertions(+) diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/driver

[PATCH v3 1/4] PCI: hotplug: Add support for disabling in-band presence

2019-04-19 Thread Alexandru Gagniuc
whenever supported. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp.h | 1 + drivers/pci/hotplug/pciehp_hpc.c | 9 - include/uapi/linux/pci_regs.h| 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci

[PATCH v2 0/2] PCI/AER: Consistently use _OSC to determine who owns AER

2019-03-26 Thread Alexandru Gagniuc
horitative, but did not identify any such machine. We should keep in mind that they may require a quirk. Alex [1] https://lkml.org/lkml/2018/11/16/202 Changes since v1: * Started 6-month conversation in ASWG * Re-phrased commit message to reflect some of the points in ASWG discussion Alexa

[PATCH v2] PCI/LINK: bw_notification: Do not leave interrupt handler NULL

2019-03-22 Thread Alexandru Gagniuc
interrupts we need to silence the interrupt before exiting the IRQ handler, so just clear the PCI_EXP_LNKSTA_LBMS bit there. Fixes: e8303bb7a75c ("PCI/LINK: Report degraded links via link bandwidth notification") Reported-by: Linus Torvalds Signed-off-by: Alexandru Gagniuc --- Changes since v

[PATCH] PCI/LINK: bw_notification: Do not leave interrupt handler NULL

2019-03-18 Thread Alexandru Gagniuc
interrupts we need to silence the interrupt before exiting the IRQ handler, so just clear the PCI_EXP_LNKSTA_LBMS bit there. Reported-by: Linus Torvalds Signed-off-by: Alexandru Gagniuc --- OOPS! I'm sorry for the noise. Here's the fix. I was able to test this on edge-triggered interrupts.

[PATCH v1 4/4] PCI/ACPI: Advertise HPX type 3 support via _OSC

2019-03-15 Thread Alexandru Gagniuc
_OSC Enhancements Date: September 12, 2018 Affected Document: PCI Firmware Specification, Rev. 3.2 Signed-off-by: Alexandru Gagniuc --- This patch is designed to go on top of the following series "PCI: ACPI: Implement support for _HPX Type 3 tables" https://lkml.org/lkml/20

[PATCH RESEND v1 3/3] PCI / ACPI: Implement Type 3 _HPX record

2019-03-07 Thread Alexandru Gagniuc
_HPX Type 3 is intended to be more generic and allow configuration of settings not possible with Type 2 tables. For example, FW could ensure that the completion timeout value is set accordingly throughout the PCI tree. Implement support for _HPX3 tables. Signed-off-by: Alexandru Gagniuc

[PATCH RESEND v1 2/3] PCI / ACPI: Remove the need for 'struct hotplug_params'

2019-03-07 Thread Alexandru Gagniuc
model doesn't scale that well. Instead of parsing all tables at once, parse and program each entry separately. For _HPP and _HPX 0 thru 2, this is functionally equivalent. The change enables the upcoming _HPX3 to integrate more easily. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pci-a

[PATCH RESEND v1 1/3] PCI / ACPI: Do not export pci_get_hp_params()

2019-03-07 Thread Alexandru Gagniuc
This is only used within drivers/pci, and there is no reason to make it available outside of the PCI core. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pci-acpi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index e1949f7efd9c

[PATCH RESEND v1 0/3] PCI: ACPI: Implement support for _HPX Type 3 tables

2019-03-07 Thread Alexandru Gagniuc
END because the first time 'git send-email' experienced an ID:10T error originating between my keyboard and my chair. As a result of that error, it did not send the cover letter to public mailing lists. Alexandru Gagniuc (3): PCI / ACPI: Do not export pci_get_hp_params() PCI / ACPI: Re

[PATCH v3] PCI: portdrv: Report degraded links via link bandwidth notification

2019-02-27 Thread Alexandru Gagniuc
, and rescan the bandwidth, looking for the weakest point. This is the same logic used in probe(). Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/Makefile | 1 + drivers/pci/pcie/bw_notification.c | 109 + drivers/pci/pcie/portdrv.h | 6

[PATCH v3] PCI/MSI: Don't touch MSI bits when the PCI device is disconnected

2019-02-22 Thread Alexandru Gagniuc
en the Link Down event occurs right after the pci_dev_is_disconnected() check. This is outside the scope of this patch. Signed-off-by: Alexandru Gagniuc --- Changes since v2: * Updated commit message drivers/pci/msi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/msi.c b/d

[PATCH RFC v2 4/4] PCI: hotplug: Add quirk For Dell nvme pcie switches

2019-02-19 Thread Alexandru Gagniuc
TCAP2) register. Because this does not conform to the PCIe spec, add a quirk to let hotplug code know to expect and handle this. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_hpc.c | 20 1 file changed, 20 insertions(+) diff --git a/drivers/pci/hotplug/pciehp_hp

[PATCH RFC v2 3/4] PCI: hotplug: Wait for PDS when in-band presence is disabled

2019-02-19 Thread Alexandru Gagniuc
. Thus, when we know PDS only reflects out-of-band presence, it's worthwhile to wait the extra second and make sure the card is properly mated before loading the driver. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_hpc.c | 22 ++ 1 file changed, 22 inser

[PATCH RFC v2 2/4] PCI: pciehp: Do not turn off slot if presence comes up after link

2019-02-19 Thread Alexandru Gagniuc
ve, a lack of a link state change event guarantees we have the same device, and shutdown is not needed. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_ctrl.c | 24 1 file changed, 24 insertions(+) diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/driver

[PATCH RFC v2 1/4] PCI: hotplug: Add support for disabling in-band presence

2019-02-19 Thread Alexandru Gagniuc
whenever supported. Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp.h | 1 + drivers/pci/hotplug/pciehp_hpc.c | 12 +++- include/linux/pci.h | 1 + include/uapi/linux/pci_regs.h| 2 ++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a

[PATCH v1 1/3] PCI / ACPI: Do not export pci_get_hp_params()

2019-02-08 Thread Alexandru Gagniuc
This is only used within drivers/pci, and there is no reason to make it available outside of the PCI core. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pci-acpi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index e1949f7efd9c

[PATCH v1 3/3] PCI / ACPI: Implement Type 3 _HPX record

2019-02-08 Thread Alexandru Gagniuc
_HPX Type 3 is intended to be more generic and allow configuration of settings not possible with Type 2 tables. For example, FW could ensure that the completion timeout value is set accordingly throughout the PCI tree. Implement support for _HPX3 tables. Signed-off-by: Alexandru Gagniuc

[PATCH v1 2/3] PCI / ACPI: Remove the need for 'struct hotplug_params'

2019-02-08 Thread Alexandru Gagniuc
model doesn't scale that well. Instead of parsing all tables at once, parse and program each entry separately. For _HPP and _HPX 0 thru 2, this is functionally equivalent. The change enables the upcoming _HPX3 to integrate more easily. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pci-a

[PATCH] PCI: pciehp: Do not turn off slot if presence comes up after link

2019-02-05 Thread Alexandru Gagniuc
ve, a lack of a link state change event guarantees we have the same device, and shutdown of is not needed. Signed-off-by: Alexandru Gagniuc --- Following some discussion in "PCI: hotplug: Erroneous removal of hotplug PCI devices" [1] It became apparent that we can't fully rely presen

[RFC v2] PCI / ACPI: Implementing Type 3 _HPX records

2019-01-21 Thread Alexandru Gagniuc
_HPX Type 3 is intended to be more generic and allow configuration of settings not possible with Type 2 tables. For example, FW could ensure that the completion timeout value is set accordingly throughout the PCI tree. Type 3 can come in an arbitrary number of ACPI packages. With the older types w

[RFC] PCI / ACPI: Implementing Type 3 _HPX records

2019-01-10 Thread Alexandru Gagniuc
_HPX Type 3 is intended to be more generic and allow configuration of settings not possible with Type 2 tables. For example, FW could ensure that the completion timeout value is set accordingly throughout the PCI tree; some switches require very special handling. Type 3 can come in an arbitrary nu

[PATCH v2] PCI: pciehp: Report degraded links via link bandwidth notification

2018-12-07 Thread Alexandru Gagniuc
, and rescan the bandwidth, looking for the weakest point. This is the same logic used in probe(). Signed-off-by: Alexandru Gagniuc --- Changes since v1: * Layer on top of the pcie port service drivers, instead of hotplug service. This patch needs to be applied on top of: PCI: Add missing

[PATCH] PCI: pciehp: Report degraded links via link bandwidth notification

2018-11-28 Thread Alexandru Gagniuc
, and rescan the bandwidth, looking for the weakest point. This is the same logic used in probe(). Signed-off-by: Alexandru Gagniuc --- drivers/pci/hotplug/pciehp_hpc.c | 35 +++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/drivers/pci/hotplug

[PATCH] PCI: Add missing include to drivers/pci.h

2018-11-28 Thread Alexandru Gagniuc
This files makes use of definitions provided in . This only compiles when is included beforehand, and creates a nasty include dependency. Instead, just include the correct file. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pci.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers

[PATCH v2] PCI/MSI: Don't touch MSI bits when the PCI device is disconnected

2018-09-18 Thread Alexandru Gagniuc
hines. Not triggering the IO in the first place greatly reduces the possibility of the problem occurring. Signed-off-by: Alexandru Gagniuc --- drivers/pci/msi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index f2ef896464b3..f31058fd2260 100644 ---

[PATCH 8/9] net/mlx5: Do not call pcie_print_link_status()

2018-09-03 Thread Alexandru Gagniuc
This is now done by the PCI core to warn of sub-optimal bandwidth. Signed-off-by: Alexandru Gagniuc --- drivers/net/ethernet/mellanox/mlx5/core/main.c | 4 1 file changed, 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core

[PATCH 9/9] nfp: Do not call pcie_print_link_status()

2018-09-03 Thread Alexandru Gagniuc
This is now done by the PCI core to warn of sub-optimal bandwidth. Signed-off-by: Alexandru Gagniuc --- drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c b/drivers/net/ethernet

[PATCH] ALSA: hda/realtek - Add mute LED quirk for HP Spectre x360

2018-08-04 Thread Alexandru Gagniuc
This device has the same issues as the HP x360 wrt the MUTE LED and the front speakers not working. This patch fixes the MUTE LED issue, but doesn't touch the HDA verbs. The fix for the x360 does not work on the Spectre. Signed-off-by: Alexandru Gagniuc --- sound/pci/hda/patch_realtek.

[PATCH v3] PCI/AER: Do not clear AER bits if we don't own AER

2018-07-30 Thread Alexandru Gagniuc
heoretical significance, since I can't reasonably demonstrate this race in the lab. On a side-note, pcie_aer_is_kernel_first() is created to alleviate the need for two checks: aer_cap and get_firmware_first(). Signed-off-by: Alexandru Gagniuc --- Changes since v2: - Added miss

[PATCH] PCI/MSI: Don't touch MSI bits when the PCI device is disconnected

2018-07-30 Thread Alexandru Gagniuc
IO in the first place eliminates the problem. Signed-off-by: Alexandru Gagniuc --- There's another patch by Lukas Wunner that is needed (not yet published) in order to fully block IO on SURPRISE!!! removal. The existing code only sets the PCI_DEV_DISCONNECTED bit in an unreasonabl

[PATCH v5] PCI: Check for PCIe downtraining conditions

2018-07-23 Thread Alexandru Gagniuc
detect this is with pcie_print_link_status(), since the bottleneck is usually the link that is downtrained. It's not a perfect solution, but it works extremely well in most cases. Signed-off-by: Alexandru Gagniuc --- For the sake of review, I've created a __pcie_print_link_status() whi

[PATCH v2] PCI/AER: Do not clear AER bits if we don't own AER

2018-07-23 Thread Alexandru Gagniuc
heoretical significance, since I can't reasonably demonstrate this race in the lab. On a side-note, pcie_aer_is_kernel_first() is created to alleviate the need for two checks: aer_cap and get_firmware_first(). Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer.c | 17 ++--- 1 f

[PATCH v2] PCI/AER: Do not clear AER bits if we don't own AER

2018-07-23 Thread Alexandru Gagniuc
heoretical significance, since I can't reasonably demonstrate this race in the lab. On a side-note, pcie_aer_is_kernel_first() is created to alleviate the need for two checks: aer_cap and get_firmware_first(). Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer.c | 17 ++--- 1 f

[PATCH] PCI/AER: Do not clear AER bits if we don't own AER

2018-07-17 Thread Alexandru Gagniuc
gnificance, as it is not easy to reasonably demonstrate it in testing. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index a2e88386af28..18037a2a8231 100644 --- a/drivers/pci/pcie/a

[PATCH v4] PCI/AER: Fix aerdrv loading with "pcie_ports=native" parameter

2018-07-03 Thread Alexandru Gagniuc
is happens because aer_acpi_firmware_first() doesn't take 'pcie_ports' into account. This is wrong. DPC uses the same logic when it decides whether to load or not, so fixing this also fixes DPC not loading. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer.c | 6 ++ 1 f

[PATCH v3] PCI/AER: Fix aerdrv loading with "pcie_ports=native" parameter

2018-07-02 Thread Alexandru Gagniuc
is happens because aer_acpi_firmware_first() doesn't take 'pcie_ports' into account. This is wrong. DPC uses the same logic when it decides whether to load or not, so fixing this also fixes DPC not loading. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer.c | 9 +++

[PATCH v2] PCI/AER: Fix aerdrv loading with "pcie_ports=native" parameter

2018-06-19 Thread Alexandru Gagniuc
is happens because aer_acpi_firmware_first() doesn't take 'pcie_ports' into account. This is wrong. DPC uses the same logic when it decides whether to load or not, so fixing this also fixes DPC not loading. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer.c | 5 - 1 f

[PATCH v4] PCI: Check for PCIe downtraining conditions

2018-06-18 Thread Alexandru Gagniuc
detect this is with pcie_print_link_status(), since the bottleneck is usually the link that is downtrained. It's not a perfect solution, but it works extremely well in most cases. Signed-off-by: Alexandru Gagniuc --- Changes since v3: - Remove extra newline and parentheses. - Make sure v4.18-r

[PATCH] PCI/AER: Fix aerdrv loading with "pcie_ports=native" parameter

2018-06-07 Thread Alexandru Gagniuc
is happens because aer_acpi_firmware_first() doesn't take 'pcie_ports' into account. This is wrong. DPC uses the same logic when it decides whether to load or not, so fixing this also fixes DPC not loading. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/aer/aerdrv_acpi.c |

[PATCH v3] PCI: Check for PCIe downtraining conditions

2018-06-04 Thread Alexandru Gagniuc
detect this is with pcie_print_link_status(), since the bottleneck is usually the link that is downtrained. It's not a perfect solution, but it works extremely well in most cases. Signed-off-by: Alexandru Gagniuc --- Changes since v2: - Check dev->is_virtfn flag Changes since v1

[PATCH] PCI: access.c: Piggyback user config access on pci_read/write_*()

2018-06-04 Thread Alexandru Gagniuc
functions on the in-kernel pci_read/write_config*(). Signed-off-by: Alexandru Gagniuc --- drivers/pci/access.c | 16 ++-- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/pci/access.c b/drivers/pci/access.c index a3ad2fe185b9..6db2a8713c85 100644 --- a/driver

[PATCH v2] PCI: Check for PCIe downtraining conditions

2018-06-01 Thread Alexandru Gagniuc
detect this is with pcie_print_link_status(), since the bottleneck is usually the link that is downtrained. It's not a perfect solution, but it works extremely well in most cases. Signed-off-by: Alexandru Gagniuc --- drivers/pci/probe.c | 22 ++ 1 file changed, 22 inser

[PATCH] PCI: Check for PCIe downtraining conditions

2018-05-31 Thread Alexandru Gagniuc
conditions on device probe, and print an appropriate message. Signed-off-by: Alexandru Gagniuc --- drivers/pci/probe.c | 78 +++ include/uapi/linux/pci_regs.h | 1 + 2 files changed, 79 insertions(+) diff --git a/drivers/pci/probe.c b/drivers/pci

[PATCH v7 1/3] acpi: apei: Rename GHES_SEV_PANIC to GHES_SEV_FATAL

2018-05-25 Thread Alexandru Gagniuc
C' is confusing because it implies a policy to crash the system on fatal errors. Drop this questionable policy, and rename the enum to 'GHES_SEV_FATAL' to better convey the meaning. Signed-off-by: Alexandru Gagniuc --- arch/x86/kernel/cpu/mcheck/mce-apei.c | 2 +- drivers/acpi

[PATCH v7 3/3] acpi: apei: Do not panic() on PCIe errors reported through GHES

2018-05-25 Thread Alexandru Gagniuc
to identify the source of the error, the original panic() behavior is maintained. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 43 +-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/ap

[PATCH v7 2/3] acpi: apei: Rename ghes_severity() to ghes_cper_severity()

2018-05-25 Thread Alexandru Gagniuc
ghes_severity() is a misnomer in this case, as it implies the severity of the entire GHES structure. Instead, it maps one CPER value to one GHES_SEV* value. ghes_cper_severity() is clearer. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 17 - 1 file changed, 8

[PATCH v7 0/3] acpi: apei: Drop panic() on fatal errors policy

2018-05-25 Thread Alexandru Gagniuc
rtions - ghes_notify_nmi() does not panic on deferrable errors - The handlers are put in a mapping and given a common call signature Alexandru Gagniuc (3): acpi: apei: Rename GHES_SEV_PANIC to GHES_SEV_FATAL acpi: apei: Rename ghes_severity() to ghes_cper_severity() acpi: apei: Do not

[PATCH v6 1/2] acpi: apei: Rename ghes_severity() to ghes_cper_severity()

2018-05-21 Thread Alexandru Gagniuc
ghes_severity() is a misnomer in this case, as it implies the severity of the entire GHES structure. Instead, it maps one CPER value to a GHES_SEV* value. ghes_cper_severity() is clearer. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 17 - 1 file changed, 8

[PATCH v6 0/2] acpi: apei: Improve PCIe error handling with FFS

2018-05-21 Thread Alexandru Gagniuc
errors Changes since v1: - Due to popular request, the panic() is left in the NMI handler - GHES AER handler is split into NMI and non-NMI portions - ghes_notify_nmi() does not panic on deferrable errors - The handlers are put in a mapping and given a common call signature Alexandru Gagniuc

[PATCH v6 2/2] acpi: apei: Do not panic() on PCIe errors reported through GHES

2018-05-21 Thread Alexandru Gagniuc
hine is on fire, and they are not severe enough to justify a panic(). Do not blindly rely on firmware to evaluate the severity for us. Instead, look at the error severity based on what caused the error (GHES subsections). Signed-off-by: Alexandru Gagniuc --- drivers/a

[PATCH] PCI: DPC: Clear AER status bits before disabling port containment

2018-05-16 Thread Alexandru Gagniuc
BIOSes to think that something bad happened, and print ominous messages on next boot. To prevent this, tidy up the AER status bits before releasing containment. Signed-off-by: Alexandru Gagniuc --- drivers/pci/pcie/dpc.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/pci/pcie

[PATCH v5 2/2] acpi: apei: Do not panic() on PCIe errors reported through GHES

2018-05-14 Thread Alexandru Gagniuc
e machine is on fire, and they are not severe enough that we need to panic(). Instead of relying on crackmonkey firmware, evaluate the error severity based on what caused the error (GHES subsections). Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 48 +++

[PATCH v5 1/2] acpi: apei: Rename ghes_severity() to ghes_cper_severity()

2018-05-14 Thread Alexandru Gagniuc
ghes_severity() is a misnomer in this case, as it implies the severity of the entire GHES structure. Instead, it maps one CPER value to a GHES_SEV* value. ghes_cper_severity() is clearer. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 17 - 1 file changed, 8

[PATCH v5 0/2] acpi: apei: Improve PCIe error handling with FFS

2018-05-14 Thread Alexandru Gagniuc
n the NMI handler - GHES AER handler is split into NMI and non-NMI portions - ghes_notify_nmi() does not panic on deferrable errors - The handlers are put in a mapping and given a common call signature Alexandru Gagniuc (2): acpi: apei: Rename ghes_severity() to ghes_cper_severity() acpi: ape

[PATCH] nvme-pci: Avoid use of goto in nvme_reset_work()

2018-05-10 Thread Alexandru Gagniuc
eturn -ENODEV' vs 'goto out', where 'result' happens to be -ENODEV CC: Keith Busch Signed-off-by: Alexandru Gagniuc --- drivers/nvme/host/pci.c | 42 -- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/drivers/nvme/host/p

[RFC PATCH v4 3/3] acpi: apei: Do not panic() on PCIe errors reported through GHES

2018-04-30 Thread Alexandru Gagniuc
e machine is on fire, and they are not severe enough that we need to panic(). Instead of relying on crackmonkey firmware, evaluate the error severity based on what caused the error (GHES subsections). Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 45

[RFC PATCH v4 2/3] acpi: apei: Rename ghes_severity() to ghes_cper_severity()

2018-04-30 Thread Alexandru Gagniuc
ghes_severity() is a misnomer in this case, as it implies the severity of the entire GHES structure. Instead, it maps one CPER value to a monotonically increasing number. ghes_cper_severity() is clearer. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 17 - 1

[RFC PATCH v4 1/3] EDAC, GHES: Remove unused argument to ghes_edac_report_mem_error

2018-04-30 Thread Alexandru Gagniuc
The use of the 'ghes' argument was removed in a previous commit, but function signature was not updated to reflect this. Fixes: 0fe5f281f749 ("EDAC, ghes: Model a single, logical memory controller") Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 2 +- driv

[PATCH v2] PCI/AER: Use a common function to print AER error bits

2018-04-30 Thread Alexandru Gagniuc
On errors reported from CPER, cper_print_bits() was used to log the AER bits. This resulted in hard-to-understand messages, without a prefix. Instead use __aer_print_error() for both native AER and CPER to provide a more consistent log format. Signed-off-by: Alexandru Gagniuc --- Changes since

[RFC PATCH v3 2/3] acpi: apei: Do not panic() on PCIe errors reported through GHES

2018-04-25 Thread Alexandru Gagniuc
e machine is on fire, and they are not severe enough that we need to panic(). Instead of relying on crackmonkey firmware, evaluate the error severity based on what caused the error (GHES subsections). Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 48 +++

[RFC PATCH v3 1/3] EDAC, GHES: Remove unused argument to ghes_edac_report_mem_error

2018-04-25 Thread Alexandru Gagniuc
The use of the 'ghes' argument was removed in a previous commit, but function signature was not updated to reflect this. Fixes: 0fe5f281f749 ("EDAC, ghes: Model a single, logical memory controller") Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 2 +- driv

[RFC PATCH v3 0/3] acpi: apei: Improve PCIe error handling with firmware-first

2018-04-25 Thread Alexandru Gagniuc
ghes_notify_nmi() does not panic on deferrable errors - The handlers are put in a mapping and given a common call signature Alexandru Gagniuc (3): EDAC, GHES: Remove unused argument to ghes_edac_report_mem_error acpi: apei: Do not panic() on PCIe errors reported through GHES acpi: apei: Warn

[RFC PATCH v3 3/3] acpi: apei: Warn when GHES marks correctable errors as "fatal"

2018-04-25 Thread Alexandru Gagniuc
re not fatal to the system. When there is a disagreement with firmware about the handleability of an error, print a warning message. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/ap

[PATCH RESEND] PCI/AER: Use a common function to print AER error bits

2018-04-17 Thread Alexandru Gagniuc
On errors reported from CPER, cper_print_bits() was used to log the AER bits. This resulted in hard-to-understand messages, without a prefix. Instead use __aer_print_error() for both native AER and CPER to provide a more consistent log format. Signed-off-by: Alexandru Gagniuc --- drivers/pci

[RFC PATCH v2 0/4] acpi: apei: Improve error handling with firmware-first

2018-04-16 Thread Alexandru Gagniuc
into NMI and non-NMI portions - ghes_notify_nmi() does not panic on deferrable errors - The handlers are put in a mapping and given a common call signature Alexandru Gagniuc (4): EDAC, GHES: Remove unused argument to ghes_edac_report_mem_error acpi: apei: Split GHES handlers outside of ghes_do_proc a

[RFC PATCH v2 3/4] acpi: apei: Do not panic() when correctable errors are marked as fatal.

2018-04-16 Thread Alexandru Gagniuc
s makes sure we have enough information to invoke the full AER handler later down the road, and tells ghes_notify_nmi that "It's all cool". ghes_notify_nmi() then gets calmed down a little, and doesn't panic(). Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghe

[RFC PATCH v2 1/4] EDAC, GHES: Remove unused argument to ghes_edac_report_mem_error

2018-04-16 Thread Alexandru Gagniuc
Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 2 +- drivers/edac/ghes_edac.c | 3 +-- include/acpi/ghes.h | 5 ++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 1efefe919555..f9b53a6f55f3 100644

[RFC PATCH v2 2/4] acpi: apei: Split GHES handlers outside of ghes_do_proc

2018-04-16 Thread Alexandru Gagniuc
Use a mapping from CPER UUID to get the correct handler for a given GHES error. This is in preparation of splitting some handlers into irq safe and regular parts. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 78 ++-- 1 file changed

[RFC PATCH v2 4/4] acpi: apei: Warn when GHES marks correctable errors as "fatal"

2018-04-16 Thread Alexandru Gagniuc
re not fatal to the system. When there is a disagreement with firmware about the handleability of an error, print a warning message. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/apei/ghes.c

[RFC PATCH 1/4] acpi: apei: Return severity of GHES messages after handling

2018-04-03 Thread Alexandru Gagniuc
st error, while marking handled errors as corrected. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 35 +-- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 1efefe919555..25cf77a18e

[RFC PATCH 4/4] acpi: apei: Warn when GHES marks correctable errors as "fatal"

2018-04-03 Thread Alexandru Gagniuc
re not fatal to the system. When there is a disagreement with firmware about the handleability of an error, print a warning message. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/ap

[RFC PATCH 2/4] acpi: apei: Swap ghes_print_queued_estatus and ghes_proc_in_irq

2018-04-03 Thread Alexandru Gagniuc
Move ghes_print_queued_estatus() above ghes_proc_in_irq(). In a subsequent patch, the NMI handler will be updated, and the print functionality will be used in ghes_proc_in_irq. This simply makes the subsequent diff look sane. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/ghes.c | 40

[RFC PATCH 3/4] acpi: apei: Do not panic() in NMI because of GHES messages

2018-04-03 Thread Alexandru Gagniuc
pass fatal errors down to IRQ context to see if they can be resolved. With these change, PCIe error are handled by AER. Other far less common errors, such as machine check exceptions, still cause a panic() in their respective handlers. Signed-off-by: Alexandru Gagniuc --- drivers/acpi/apei/g

[RFC PATCH 0/4] acpi: apei: Improve error handling with firmware-first

2018-04-03 Thread Alexandru Gagniuc
to protect against poorly designed firmware, and perform proper error handling when possible. It is not to make FFS a first class citizen in error handling. Alexandru Gagniuc (4): acpi: apei: Return severity of GHES messages after handling acpi: apei: Swap ghes_print_queued_estatus and ghes_pr

Re: [PATCH v3 5/5] reset: simple: read back to make sure changes are applied

2017-08-16 Thread Alexandru Gagniuc
On 08/16/2017 02:47 AM, Philipp Zabel wrote: Read back the register after setting or clearing a reset bit to make sure that the changes are applied to the reset controller hardware. Theoretically, this avoids the write to stay stuck in a store buffer Is there hardware where this has been o

Re: [PATCH v3 3/5] reset: stm32: use the reset-simple driver

2017-08-16 Thread Alexandru Gagniuc
On 08/16/2017 01:52 PM, Andreas Färber wrote: Am 16.08.2017 um 22:50 schrieb Alexandru Gagniuc: On 08/16/2017 02:46 AM, Philipp Zabel wrote: The reset-simple driver can be used without changes. Signed-off-by: Philipp Zabel Reviewed-by: Alexandru Gagniuc --- drivers/reset/Kconfig

Re: [PATCH v3 4/5] reset: zx2967: use the reset-simple driver

2017-08-16 Thread Alexandru Gagniuc
On 08/16/2017 02:47 AM, Philipp Zabel wrote: The reset-simple driver can be used without changes. Signed-off-by: Philipp Zabel Reviewed-by: Alexandru Gagniuc --- MAINTAINERS | 1 - drivers/reset/Kconfig| 10 + drivers/reset/Makefile | 1 - drivers

Re: [PATCH v3 3/5] reset: stm32: use the reset-simple driver

2017-08-16 Thread Alexandru Gagniuc
On 08/16/2017 02:46 AM, Philipp Zabel wrote: The reset-simple driver can be used without changes. Signed-off-by: Philipp Zabel Reviewed-by: Alexandru Gagniuc --- drivers/reset/Kconfig| 11 ++--- drivers/reset/Makefile | 1 - drivers/reset/reset-simple.c | 1

Re: [PATCH v3 1/5] reset: add reset-simple to unify socfpga, stm32, sunxi, and zx2967

2017-08-16 Thread Alexandru Gagniuc
separate sunxi driver still remains to register the early reset controllers, but it reuses the reset-simple ops. The following patches will replace compatible reset drivers with reset-simple, extending it where necessary. Signed-off-by: Philipp Zabel Reviewed-by: Alexandru Gagniuc --- Changes since

Re: [PATCH v3 2/5] reset: socfpga: use the reset-simple driver

2017-08-16 Thread Alexandru Gagniuc
Hi Phillip, On 08/16/2017 02:46 AM, Philipp Zabel wrote: [snip] @@ -118,8 +151,23 @@ static int reset_simple_probe(struct platform_device *pdev) data->rcdev.ops = &reset_simple_ops; data->rcdev.of_node = dev->of_node; - if (devdata) + if (devdata) { + u

Re: [PATCH v2 1/5] reset: add reset-simple to unify socfpga, stm32, sunxi, and zx2967

2017-08-11 Thread Alexandru Gagniuc
Hi Philipp, On 08/11/2017 06:06 AM, Philipp Zabel wrote: [snip] diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index 52d5251660b9b..f7ba01a71daee 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -68,6 +68,16 @@ config RESET_PISTACHIO help This enab

Re: [PATCH v2 2/5] reset: socfpga: use the reset-simple driver

2017-08-11 Thread Alexandru Gagniuc
Hi Phillip, On 08/11/2017 06:06 AM, Philipp Zabel wrote: [snip] @@ -113,8 +137,33 @@ static int reset_simple_probe(struct platform_device *pdev) data->rcdev.ops = &reset_simple_ops; data->rcdev.of_node = dev->of_node; - if (devdata) + if (devdata == &reset_simple_so

Re: [PATCH v2 1/5] reset: add reset-simple to unify socfpga, stm32, sunxi, and zx2967

2017-08-11 Thread Alexandru Gagniuc
Hi Phillip, On 08/11/2017 06:06 AM, Philipp Zabel wrote: [snip] diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index 52d5251660b9b..f7ba01a71daee 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -68,6 +68,16 @@ config RESET_PISTACHIO help This enab

simple-reset to de-duplicate reset drivers

2017-08-10 Thread Alexandru Gagniuc
Hi, I was looking at implementing a reset driver for our in-house SoC. It's essentially a long bitfield, each bit controlling one sort of reset. That seems to be surprisingly common. I've identified the following drivers which control a very similar reset: * reset-zynq * reset-zx2967 * reset

Re: [PATCH] arc: Mask individual IRQ lines during core INTC init

2017-08-10 Thread Alexandru Gagniuc
HY informs GMAC about link state, GMAC immediately reports that upstream to ARC core and here we are. Now with that change we mask all individual IRQ lines making entire system more fool-proof. Signed-off-by: Alexey Brodkin Cc: Eugeniy Paltsev Cc: Alexandru Gagniuc Tested-by: Alexand

[PATCH v2 7/7] dt-bindings: Add documentation for adaptrum,anarion-quadspi

2017-08-04 Thread Alexandru Gagniuc
Add devicetree binding documentation for the Anarion QSPI controller. Signed-off-by: Alexandru Gagniuc --- .../devicetree/bindings/mtd/anarion-quadspi.txt| 22 ++ 1 file changed, 22 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/anarion

[PATCH v2 6/7] mtd: spi-nor: Add driver for Adaptrum Anarion QSPI controller

2017-08-04 Thread Alexandru Gagniuc
s are implemented at this time. Signed-off-by: Alexandru Gagniuc --- Changes since v1: * Moved documentation for bindings to separate patch * Removed idiotic dev_err() message * Changed bit macros to use BIT(n) instead of (1 << n) * Fixed alphabetical ordering in Kconfig and makefiles *

[PATCH v2 2/2] ARC: DTS: Add device-tree for Anarion-based development board

2017-08-04 Thread Alexandru Gagniuc
Signed-off-by: Alexandru Gagniuc --- Changes since v1: * Updated CPU core clock to 24 MHz to match HW changes. arch/arc/boot/dts/adaptrum_anarion.dtsi | 108 arch/arc/boot/dts/adaptrum_anarion_fpga.dts | 49 + 2 files changed, 157 insertions

[PATCH v2 1/2] ARC: [plat-anarion] Add early boot workarounds for Anarion SOC

2017-08-04 Thread Alexandru Gagniuc
robed and interrupt mapping established. Signed-off-by: Alexandru Gagniuc --- Changes since v1: * None arch/arc/Kconfig | 1 + arch/arc/Makefile| 1 + arch/arc/plat-anarion/Kconfig| 10 ++ arch/arc/plat-anarion/Makefile | 7 +++ arch/arc/plat-an

  1   2   >