1. 27 5月, 2018 1 次提交
  2. 20 5月, 2018 1 次提交
  3. 19 5月, 2018 9 次提交
  4. 15 5月, 2018 5 次提交
    • A
      KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock · bf308242
      Andre Przywara 提交于
      kvm_read_guest() will eventually look up in kvm_memslots(), which requires
      either to hold the kvm->slots_lock or to be inside a kvm->srcu critical
      section.
      In contrast to x86 and s390 we don't take the SRCU lock on every guest
      exit, so we have to do it individually for each kvm_read_guest() call.
      
      Provide a wrapper which does that and use that everywhere.
      
      Note that ending the SRCU critical section before returning from the
      kvm_read_guest() wrapper is safe, because the data has been *copied*, so
      we don't need to rely on valid references to the memslot anymore.
      
      Cc: Stable <stable@vger.kernel.org> # 4.8+
      Reported-by: NJan Glauber <jan.glauber@caviumnetworks.com>
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Acked-by: NChristoffer Dall <christoffer.dall@arm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      bf308242
    • S
      ARM: davinci: board-dm646x-evm: set VPIF capture card name · bb7298a7
      Sekhar Nori 提交于
      VPIF capture driver expects card name to be set since it
      uses it without checking for NULL. The commit which
      introduced VPIF display and capture support added card
      name only for display, not for capture.
      
      Set it in platform data to probe driver successfully.
      
      While at it, also fix the display card name to something more
      appropriate.
      
      Fixes: 85609c1c ("DaVinci: DM646x - platform changes for vpif capture and display drivers")
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      bb7298a7
    • S
      ARM: davinci: board-dm646x-evm: pass correct I2C adapter id for VPIF · 7d46899d
      Sekhar Nori 提交于
      commit a16cb91a ("[media] media: vpif: use a configurable
      i2c_adapter_id for vpif display") removed hardcoded I2C adaptor
      setting in VPIF driver, but missed updating platform data passed
      from DM646x board.
      
      Fix it.
      
      Fixes: a16cb91a ("[media] media: vpif: use a configurable i2c_adapter_id for vpif display")
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      7d46899d
    • S
      ARM: davinci: dm646x: fix timer interrupt generation · 73d4337e
      Sekhar Nori 提交于
      commit b3843414 ("ARM: davinci: irqs: Correct McASP1 TX interrupt
      definition for DM646x") inadvertently removed priority setting for
      timer0_12 (bottom half of timer0). This timer is used as clockevent.
      
      When INTPRIn register setting for an interrupt is left at 0, it is
      mapped to FIQ by the AINTC causing the timer interrupt to not get
      generated.
      
      Fix it by including an entry for timer0_12 in interrupt priority map
      array. While at it, move the clockevent comment to the right place.
      
      Fixes: b3843414 ("ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x")
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      73d4337e
    • R
      ARM: keystone: fix platform_domain_notifier array overrun · 9954b80b
      Russell King 提交于
      platform_domain_notifier contains a variable sized array, which the
      pm_clk_notify() notifier treats as a NULL terminated array:
      
           for (con_id = clknb->con_ids; *con_id; con_id++)
                   pm_clk_add(dev, *con_id);
      
      Omitting the initialiser for con_ids means that the array is zero
      sized, and there is no NULL terminator.  This leads to pm_clk_notify()
      overrunning into what ever structure follows, which may not be NULL.
      This leads to an oops:
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000008c
      pgd = c0003000
      [0000008c] *pgd=80000800004003c, *pmd=00000000c
      Internal error: Oops: 206 [#1] PREEMPT SMP ARM
      Modules linked in:c
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.16.0+ #9
      Hardware name: Keystone
      PC is at strlen+0x0/0x34
      LR is at kstrdup+0x18/0x54
      pc : [<c0623340>]    lr : [<c0111d6c>]    psr: 20000013
      sp : eec73dc0  ip : eed780c0  fp : 00000001
      r10: 00000000  r9 : 00000000  r8 : eed71e10
      r7 : 0000008c  r6 : 0000008c  r5 : 014000c0  r4 : c03a6ff4
      r3 : c09445d0  r2 : 00000000  r1 : 014000c0  r0 : 0000008c
      Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 30c5387d  Table: 00003000  DAC: fffffffd
      Process swapper/0 (pid: 1, stack limit = 0xeec72210)
      Stack: (0xeec73dc0 to 0xeec74000)
      ...
      [<c0623340>] (strlen) from [<c0111d6c>] (kstrdup+0x18/0x54)
      [<c0111d6c>] (kstrdup) from [<c03a6ff4>] (__pm_clk_add+0x58/0x120)
      [<c03a6ff4>] (__pm_clk_add) from [<c03a731c>] (pm_clk_notify+0x64/0xa8)
      [<c03a731c>] (pm_clk_notify) from [<c004614c>] (notifier_call_chain+0x44/0x84)
      [<c004614c>] (notifier_call_chain) from [<c0046320>] (__blocking_notifier_call_chain+0x48/0x60)
      [<c0046320>] (__blocking_notifier_call_chain) from [<c0046350>] (blocking_notifier_call_chain+0x18/0x20)
      [<c0046350>] (blocking_notifier_call_chain) from [<c0390234>] (device_add+0x36c/0x534)
      [<c0390234>] (device_add) from [<c047fc00>] (of_platform_device_create_pdata+0x70/0xa4)
      [<c047fc00>] (of_platform_device_create_pdata) from [<c047fea0>] (of_platform_bus_create+0xf0/0x1ec)
      [<c047fea0>] (of_platform_bus_create) from [<c047fff8>] (of_platform_populate+0x5c/0xac)
      [<c047fff8>] (of_platform_populate) from [<c08b1f04>] (of_platform_default_populate_init+0x8c/0xa8)
      [<c08b1f04>] (of_platform_default_populate_init) from [<c000a78c>] (do_one_initcall+0x3c/0x164)
      [<c000a78c>] (do_one_initcall) from [<c087bd9c>] (kernel_init_freeable+0x10c/0x1d0)
      [<c087bd9c>] (kernel_init_freeable) from [<c0628db0>] (kernel_init+0x8/0xf0)
      [<c0628db0>] (kernel_init) from [<c00090d8>] (ret_from_fork+0x14/0x3c)
      Exception stack(0xeec73fb0 to 0xeec73ff8)
      3fa0:                                     00000000 00000000 00000000 00000000
      3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
      Code: e3520000 1afffff7 e12fff1e c0801730 (e5d02000)
      ---[ end trace cafa8f148e262e80 ]---
      
      Fix this by adding the necessary initialiser.
      
      Fixes: fc20ffe1 ("ARM: keystone: add PM domain support for clock management")
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Acked-by: NSantosh Shilimkar <ssantosh@kernel.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      9954b80b
  5. 11 5月, 2018 1 次提交
  6. 08 5月, 2018 2 次提交
  7. 07 5月, 2018 2 次提交
  8. 04 5月, 2018 3 次提交
  9. 02 5月, 2018 2 次提交
  10. 01 5月, 2018 8 次提交
  11. 26 4月, 2018 3 次提交
  12. 24 4月, 2018 3 次提交
    • S
      ARM: dts: da850: fix W=1 warnings with pinmux node · 94a82284
      Sekhar Nori 提交于
      Remove unused #address-cells and #size-cells from pinmux
      node. This fixes W=1 warnings of the type:
      
      arch/arm/boot/dts/da850-lcdk.dtb: Warning (avoid_unnecessary_addr_size): /soc@1c00000/pinmux@14120: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
      
      Tested on DA850 LCDK by checking output of:
      
      /sys/kernel/debug/pinctrl/1c14120.pinmux-pinctrl-single/pins
      
      before and after the change.
      Reviewed-by: NDavid Lechner <david@lechnology.com>
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      94a82284
    • S
      ARM: dts: da850-lcdk: add unit name for memory node · 01de0be5
      Sekhar Nori 提交于
      Add unit name for memory node to squash the W=1 warning:
      
      arch/arm/boot/dts/da850-lcdk.dtb: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
      
      While at it, drop the device_type property from memory
      node since its provided by da850.dtsi already.
      Reviewed-by: NDavid Lechner <david@lechnology.com>
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      01de0be5
    • S
      ARM: dts: da850: get rid of skeleton.dtsi · 30f548ba
      Sekhar Nori 提交于
      skeleton.dtsi is deprecated. Drop its usage in da850.dtsi
      and move the nodes and properties included by it directly
      to keep the dtb same.
      
      The memory node has been changed to get rid of warnings
      (see below). It contains the memory base address as that is
      fixed for DA850 SoCs. But the size needs to be added by
      bootloader or a board specific dts.
      
      This gets rid of the following W=1 warnings:
      
      arch/arm/boot/dts/da850-enbw-cmc.dtb: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
      arch/arm/boot/dts/da850-evm.dtb: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
      arch/arm/boot/dts/da850-lego-ev3.dtb: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
      Reviewed-by: NDavid Lechner <david@lechnology.com>
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      30f548ba