03 Nov, 2018

1 commit


29 Oct, 2018

35 commits


03 Aug, 2018

1 commit

  • [ Upstream commit 1c74d5c0de0c2cc29fef97a19251da2ad6f579bd ]

    Currently we are enabling handling of interrupts specific to Tegra124+
    which happen to overlap with previous generations. Let's specify
    interrupts mask per SoC generation for consistency and in a preparation
    of squashing of Tegra20 driver into the common one that will enable
    handling of GART faults which may be undesirable by newer generations.

    Signed-off-by: Dmitry Osipenko
    Signed-off-by: Thierry Reding
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Osipenko
     

21 Jun, 2018

1 commit

  • [ Upstream commit 144345a4a8c3b497a3f60d3af9d6071a37660186 ]

    If CONFIG_RASPBERRYPI_FIRMWARE=n:

    drivers/gpio/gpio-raspberrypi-exp.c: In function ‘rpi_exp_gpio_get_polarity’:
    drivers/gpio/gpio-raspberrypi-exp.c:71: warning: ‘get.polarity’ is used uninitialized in this function
    drivers/gpio/gpio-raspberrypi-exp.c: In function ‘rpi_exp_gpio_get_direction’:
    drivers/gpio/gpio-raspberrypi-exp.c:150: warning: ‘get.direction’ is used uninitialized in this function

    The dummy firmware interface functions return 0, which means success,
    causing subsequent code to make use of the never initialized output
    parameter.

    Fix this by making the dummy functions return an error code (-ENOSYS)
    instead.

    Note that this assumes the firmware always fills in the requested data
    in the CONFIG_RASPBERRYPI_FIRMWARE=y case.

    Fixes: d45f1a563b92dac7 ("staging: vc04_services: fix up rpi firmware functions")
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Eric Anholt
    Signed-off-by: Florian Fainelli
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     

30 May, 2018

2 commits

  • [ Upstream commit f3205de98db2fc8083796dd5ad81b191e436fab8 ]

    As of today we use hardcoded MCIP debug mask, so if we launch
    kernel via debugger and kick fever cores than HW has all cpus
    hang at the momemt of setup MCIP debug mask.

    So update MCIP debug mask when the new cpu came online, instead of
    use hardcoded MCIP debug mask.

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Vineet Gupta
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Eugeniy Paltsev
     
  • [ Upstream commit 07423d00a2b2a71a97e4287d9262cb83c4c4c89f ]

    In SMP systems, GFRC is used for clocksource. However by default the
    counter keeps running even when core is halted (say when debugging via a
    JTAG debugger). This confuses Linux timekeeping and triggers flase RCU stall
    splat such as below:

    | [ARCLinux]# while true; do ./shm_open_23-1.run-test ; done
    | Running with 1000 processes for 1000 objects
    | hrtimer: interrupt took 485060 ns
    |
    | create_cnt: 1000
    | Running with 1000 processes for 1000 objects
    | [ARCLinux]# INFO: rcu_preempt self-detected stall on CPU
    | 2-...: (1 GPs behind) idle=a01/1/0 softirq=135770/135773 fqs=0
    | INFO: rcu_preempt detected stalls on CPUs/tasks:
    | 0-...: (1 GPs behind) idle=71e/0/0 softirq=135264/135264 fqs=0
    | 2-...: (1 GPs behind) idle=a01/1/0 softirq=135770/135773 fqs=0
    | 3-...: (1 GPs behind) idle=4e0/0/0 softirq=134304/134304 fqs=0
    | (detected by 1, t=13648 jiffies, g=31493, c=31492, q=1)

    Starting from ARC HS v3.0 it's possible to tie GFRC to state of up-to 4
    ARC cores with help of GFRC's CORE register where we set a mask for
    cores which state we need to rely on.

    We update cpu mask every time new cpu came online instead of using
    hardcoded one or using mask generated from "possible_cpus" as we
    want it set correctly even if we run kernel on HW which has fewer cores
    than expected (or we launch kernel via debugger and kick fever cores
    than HW has)

    Note that GFRC halts when all cores have halted and thus relies on
    programming of Inter-Core-dEbug register to halt all cores when one
    halts.

    Signed-off-by: Alexey Brodkin
    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Vineet Gupta
    [vgupta: rewrote changelog]
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Eugeniy Paltsev