Commit graph

996159 commits

Author SHA1 Message Date
Sung Lee
fc13b7011e drm/amd/display: Add more Clock Sources to DCN2.1
[WHY]
When enabling HDMI on ComboPHY, there are not
enough clock sources to complete display detection.

[HOW]
Initialize more clock sources.

Signed-off-by: Sung Lee <sung.lee@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:09:17 -05:00
Wenjing Liu
aac6d4391a drm/amd/display: correct some hdcp variable naming
[why]
In HDCP update stream config interface, some variables are named as
xxx_supported, but in fact the variable indicates whether or not xxx_enabled.
Correct the naming so it is less confusing to read the code.

Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
Reviewed-by: George Shen <George.Shen@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:09:09 -05:00
Lewis Huang
accff74e8f drm/amd/display: Set power_gated to true for seamless boot pipe init
[Why]
In seamless boot without a flip case, the flag power_gated didn't
get cleared when resetting path mode because the plane_state is null.
The following sequence will cause this issue:
    1. OS call set mode to clone/extended
    2. Reset path mode to remove edp

[How]
Set power gated default to true in seamless boot pipe

Signed-off-by: Lewis Huang <Lewis.Huang@amd.com>
Reviewed-by: Martin Leung <Martin.Leung@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:09:02 -05:00
Bhawanpreet Lakha
fa2a3786c4 drm/amd/display: reuse current context instead of recreating one
[Why]
Currently we discard the current context and recreate it. The current
context is what is applied to the HW so we should be re-using this
rather than creating a new context.

Recreating the context can lead to mismatch between new context and the
current context

For example: gsl groups get changed when we create a new context this
can cause issues in a multi display config (with flip immediate) because
we don't align the existing gsl groups in the new and current context.
If we reuse the current context the gsl group assignment stays the same.

[How]
Instead of discarding the current context, we instead just copy the
current state and add/remove planes and streams.

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:08:50 -05:00
Michael Strauss
7e60e38905 drm/amd/display: Add null pointer check to is_dig_enabled func
[WHY]
Safeguarding as pointer may be null in diagnostic environment

Signed-off-by: Michael Strauss <michael.strauss@amd.com>
Reviewed-by: Sung Lee <Sung.Lee@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:08:43 -05:00
Brendan Steve Leder
91501d0aff drm/amd/display: initialize i2c speed if not initialized in dcnxxx__resource.c
Some dcnxxx__resource.c do not initialize the i2c speed; this patch adds
the required initialization at dc_construct().

Signed-off-by: Brendan Steve Leder <brendanSteve.Leder@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:08:31 -05:00
George Shen
a71c76ac7e drm/amd/display: Fix DPCD translation for LTTPR AUX_RD_INTERVAL
[Why]
The translation between the DPCD value and the specified AUX_RD_INTERVAL
in the DP spec do not match.

[How]
Update values to match the spec.

Signed-off-by: George Shen <george.shen@amd.com>
Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:08:25 -05:00
Amadeusz Sławiński
be6be67e13
ASoC: topology: KUnit: Convert from cpu to data format
When creating topology templates and overriding data in specific test
cases it should be done with cpu_to_le32 macro, so we operate on correct
data on all architectures, as topology parser use le32_to_cpu to parse
data from structures.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20210202163123.3942040-1-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-02-02 17:08:21 +00:00
Tang Bin
68be8ed6a4
ASoC: fsl_spdif: Utilize the defined parameter to clear code
Utilize the defined parameter 'dev' to make the code cleaner.

Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Link: https://lore.kernel.org/r/20210128112714.16324-1-tangbin@cmss.chinamobile.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-02-02 17:08:20 +00:00
Nicholas Kazlauskas
dbb7898ac1 drm/amd/display: Drop SOC bounding box hookup in DM/DC
[Why]
There aren't any ASIC where we use these binaries and they aren't
useful for future use since it's inconvenient to extend and maintain
these structures.

[How]
Drop the support from DM and DC for now.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Roman Li <Roman.Li@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Acked-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Hersen Wu <hersenxs.wu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:08:04 -05:00
Christian König
dd017d01c3 drm/amdgpu: enable freesync for A+A configs
Some newer APUs can scanout directly from GTT, that saves us from
allocating another bounce buffer in VRAM and enables freesync in such
configurations.

Without this patch creating a framebuffer from the imported BO will
fail and userspace will fall back to a copy.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Shashank Sharma <shashank.sharma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:06:54 -05:00
Xiaojian Du
e487cb54db drm/amd/pm: remove some useless code for vangogh
This patch is to remove some useless code for vangogh.
In the earlier code, vangogh can't finish all the sequence of
smu late init. But now vangogh has one stable work state,so
remove the useless code.

Signed-off-by: Xiaojian Du <Xiaojian.Du@amd.com>
Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Acked-by: Xiaomeng Hou <Xiaomeng.Hou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:06:44 -05:00
Xiaojian Du
c9021a6e58 drm/amd/pm: fill in the data member of v2 gpu metrics table for vangogh
This patch is to fill in the data member of v2 gpu metrics
table for vangogh.

Signed-off-by: Xiaojian Du <Xiaojian.Du@amd.com>
Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:06:36 -05:00
chen gong
2cb96b2387 drm/amdgpu/gfx10: update CGTS_TCC_DISABLE and CGTS_USER_TCC_DISABLE register offsets for VGH
For Vangogh:
The offset of the CGTS_TCC_DISABLE is 0x5006 by calculation.
The offset of the CGTS_USER_TCC_DISABLE is 0x5007 by calculation.

Signed-off-by: chen gong <curry.gong@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:06:29 -05:00
xinhui pan
e1a4b67aac drm/amdgpu: Fix a false positive when pin non-VRAM memory
Flag TTM_PL_FLAG_CONTIGUOUS is only valid for VRAM domain. So fix the
false positive by checking memory type too.

Suggested-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: xinhui pan <xinhui.pan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:06:21 -05:00
Ramesh Errabolu
b131c363c8 drm/amdgpu: Limit the maximum size of contiguous VRAM that can be encapsulated by an instance of DRM memory node
[Why]
Enable 1:1 mapping between VRAM of a DRM node and a scatterlist node

[How]
Ensure construction of DRM node to not exceed specified limit

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Ramesh Errabolu <Ramesh.Errabolu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-02 12:05:29 -05:00
Arnd Bergmann
481d73c663 mvebu dt64 for 5.12 (part 1)
- rename u-boot mtd partition to a53-firmware on Turris Mox (Armada 3720 based)
  - improve SDHCI support on AP807 based board
  - move SATA comphy into main armada-37xx.dtsi
  - add Armada 8K/7K PWM support
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCYBgqrwAKCRALBhiOFHI7
 1RwyAJ91R1M5jgXu1AwuKUUwhG5nQz7PlwCfY4H0+4vkvjOPsVRzzPM0ojvYgUY=
 =3JKO
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt

mvebu dt64 for 5.12 (part 1)

 - rename u-boot mtd partition to a53-firmware on Turris Mox (Armada 3720 based)
 - improve SDHCI support on AP807 based board
 - move SATA comphy into main armada-37xx.dtsi
 - add Armada 8K/7K PWM support

* tag 'mvebu-dt64-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: armada: add pwm offsets for ap/cp gpios
  arm64: dts: marvell: armada-37xx: Add SATA comphy into main armada-37xx.dtsi file
  arm64: dts: cn913x-db: enable MMC HS400
  arm64: dts: change AP807 SDHCI compatibility string
  arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware

Link: https://lore.kernel.org/r/87pn1jn48s.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 18:03:55 +01:00
Sean Christopherson
943dea8af2 KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode
Set the emulator context to PROT64 if SYSENTER transitions from 32-bit
userspace (compat mode) to a 64-bit kernel, otherwise the RIP update at
the end of x86_emulate_insn() will incorrectly truncate the new RIP.

Note, this bug is mostly limited to running an Intel virtual CPU model on
an AMD physical CPU, as other combinations of virtual and physical CPUs
do not trigger full emulation.  On Intel CPUs, SYSENTER in compatibility
mode is legal, and unconditionally transitions to 64-bit mode.  On AMD
CPUs, SYSENTER is illegal in compatibility mode and #UDs.  If the vCPU is
AMD, KVM injects a #UD on SYSENTER in compat mode.  If the pCPU is Intel,
SYSENTER will execute natively and not trigger #UD->VM-Exit (ignoring
guest TLB shenanigans).

Fixes: fede8076aa ("KVM: x86: handle wrap around 32-bit address space")
Cc: stable@vger.kernel.org
Signed-off-by: Jonny Barker <jonny@jonnybarker.com>
[sean: wrote changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210202165546.2390296-1-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-02 12:03:54 -05:00
Arnd Bergmann
7e500c897d mvebu dt for 5.12 (part 1)
Improve LED and fan support on Helios4 boad (Armada 388 based)
 Add ECC configuration for Linksys board (Aramda 385 based)
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCYBgmmwAKCRALBhiOFHI7
 1Wu7AKChZUwxab38QXEkPxLvaXGOW+BELwCfXjYbGc9Utnl5Le0HbuWmam+VRA8=
 =ZHNA
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt

mvebu dt for 5.12 (part 1)

Improve LED and fan support on Helios4 boad (Armada 388 based)
Add ECC configuration for Linksys board (Aramda 385 based)

* tag 'mvebu-dt-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dts: armada388-helios4: assign pinctrl to each fan
  ARM: dts: armada388-helios4: assign pinctrl to LEDs
  ARM: dts: armada-385-linksys: fix usage with newer devices

Link: https://lore.kernel.org/r/87sg6fn49o.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 18:02:49 +01:00
Arnd Bergmann
542b9f11e5 mt6779:
- add DEVAPC node to detect mallicious bus accesses
 - add PMIC wrapper node
 
 mt7622:
 - add reset to mmc node
 
 mt8183:
 - fix typo in drma-fifo-size property
 - refine compatible for the disp-gamma
 - add phandel of PM domain to the PWM node
 - add second PWM node
 - add regulator to MFG power domain
 - enable DSI node in kukui
 - add krane sku0, which uses different panel
 - fix mailbox dt-bindings include path
 
 mt8192:
 - add NOR flash node
 - add PSCI based CPU idle states
 
 mt8516:
 - add node for the UART's APDMA controller
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmAXzZgXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5NrA/9FzIDvcRnXmvj6t5S6DKMBV87
 0cbt0Q6lzJ6p1K8bt4zjiAVz0DN4k4vwQXarlJWWJ9upcc0g5MNMT7GyrD7TtRNy
 KEP3w0fYuHU3An4XsyAfvl5UbNJOZVzFslv1M9iSrlGUgiG/LZW8r+zRxoMot0nz
 TWeQccWL6ryAe0Zc+fP1Dl3WV82LmmMf23KCWY8HWTrZG4nLRbHiKk61zIXsbxw1
 4DbDAFoXImy/dbFs9KSEz6leSHuOhdKvJ7+SyqzGWzTnsbucFhI5NvONABkOCWpf
 5hUnVDuNgVhyq109heB+eJ5SZTHGP92ROT940Z96PJsTJsGUYKSnZfxIgaK6exCO
 I++MHBr31orhJ1m+zM/DktyRbOZDPjzj4kBbD3YouLvbNvlL1y1qyNtArFU6flZs
 J/Dvms3J5H1C8peXBlFelIddArfXQipaDIndYZfyTbIe2GwkY8Wo0qJGDeJ0gT3L
 alU5KEocZo+nPEHBH3BLrCiFePpS1yqQSITCgI26JJ5kcUmqZM8WWY13HgWNcDnf
 EM6icQkNcCn3Y/lHjVy9hWDxzzW/UoajGslEliiFJfOCCJEb2aydWqEbkPGRRnH6
 HXj9gGrd+6IAou3wD2KZqEnPYfc5pu0TrgqEGECu6E8eVWF+O4QkJrQeOqh7bSvc
 xcJK1NCtMjMaOmnLsaQ=
 =sZPi
 -----END PGP SIGNATURE-----

Merge tag 'v5.11-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt6779:
- add DEVAPC node to detect mallicious bus accesses
- add PMIC wrapper node

mt7622:
- add reset to mmc node

mt8183:
- fix typo in drma-fifo-size property
- refine compatible for the disp-gamma
- add phandel of PM domain to the PWM node
- add second PWM node
- add regulator to MFG power domain
- enable DSI node in kukui
- add krane sku0, which uses different panel
- fix mailbox dt-bindings include path

mt8192:
- add NOR flash node
- add PSCI based CPU idle states

mt8516:
- add node for the UART's APDMA controller

* tag 'v5.11-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: dts: mt8183: Fix GCE include path
  dts64: mt7622: fix slow sd card access
  dt-bindings: arm64: dts: mediatek: Add krane sku0
  arm64: dts: mt8183: Add krane-sku0 board.
  arm64: dts: mt8183: config dsi node
  arm64: dts: mt6779: Support pwrap on Mediatek MT6779 platform
  arm64: dts: mt6779: Support devapc
  arm64: dts: mt8192: Add cpu-idle-states
  arm64: dts: mediatek: mt8183: Add domain supply for mfg
  arm64: dts: mt8192: add nor_flash device node
  arm64: dts: mediatek: mt8516: add support for APDMA
  arm64: dts: mediatek: mt8183-evb: add PWM support
  arm64: dts: mediatek: mt8183: add pwm node
  arm64: dts: mt8183: Add missing power-domain for pwm0 node
  arm64: dts: mt8183: refine gamma compatible name
  arm64: dts: mt8183: rename rdma fifo size

Link: https://lore.kernel.org/r/565be0cc-460a-7d0b-47da-09bf0401e8fe@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 18:00:48 +01:00
Linus Walleij
e9cb878ec2 ARM: dts: ux500: Add Flash LEDs to Samsung phones
This adds the Richtek RT8515 Flash LED to the Golden,
Skomer and Janice device trees.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210201091308.284465-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 18:00:04 +01:00
Arnd Bergmann
bc84e13f9b ARM: DTS: Keystone update for v5.12
Contains couple updates for DWC USB3 DT nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJgF4yzAAoJEHJsHOdBp5c/+osQAKUloeBV/VZKg17tYTmaOe3B
 IqeCnOEoGHH+9O0IjQF3ElEUyH4Jqg7pQ5POoJWYIer7v6uU6Ml6Z7MjgmqBROYu
 0o9ybvlGTZIXyLPfNhEVdC3zIYlk7SYj+rxjYpKlay4Xw++vZAMi0XL3NHoTPryg
 zg2eIlrK+SB7VaMxr4gN6Qe7U0L80jcLqUtpslwoJL5f1EPryNCzZbARzgBE5/nP
 oU/Kt+v0vlfJpIk4GRgNC4y4364QehvlOkgpjZz5J/WzUiX7siUJLWvIcxL8OheB
 b82mP2e6EtOTaD02G6qzuhZysko1Bt4M5T1BNFyOMP1/h5J4vDlSQNIKmmutsVmc
 heeiKGc0T2DayV5RmrvvhKutKMa54TI+DsrS8pV9UeuWp3WCX4Sxy2o8kDBzYtNf
 7DQfBgFO2tRPZ0ASXV+M5Lz5cn4slePHdHrDhv7xe1E84HVKP6mwaTrcvXyTcYPu
 rBnOmboB61e4waoDxxfEqlIciRJxVQysVBGdoVFQJBzEgOaoq7Hf7+WLOfrh7GxH
 dDgtBaLJ1Mw7I7/ZqM7+tkXnQQVbF2aX7PLGs9wke2NXMzwlsLw9ZuHoZOplnTbk
 aU6Z5go6+EuionEPgWHkI5KOu+6fs40ucy8yf8KhKU6Ur5BOtyLI6Dovk3FRgL+L
 AGqmQr7rfsaF4hGXTopM
 =OTb+
 -----END PGP SIGNATURE-----

Merge tag 'keystone_dts_for_5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into arm/dt

ARM: DTS: Keystone update for v5.12

Contains couple updates for DWC USB3 DT nodes

* tag 'keystone_dts_for_5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  arm: dts: keystone: Harmonize DWC USB3 DT nodes name
  arm: dts: keystone: Correct DWC USB3 compatible string

Link: https://lore.kernel.org/r/1612156910-11159-1-git-send-email-santosh.shilimkar@oracle.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:59:36 +01:00
Arnd Bergmann
528587ea03 This pull request contains Broadcom ARM64-based SoCs Device Tree changes
for 5.12 please pull the following:
 
 - Rafal continues to add support for the 4906/4908 SoC family and adds
   a Device Tree for the Netgear R8000P router (4906-based), describes
   the NAND controller of the 4908 more appropriately (based on the older
   63138 DSL SoC), describes the 4908 PCIe reset controller, internal
   Ethernet switch (Starfighter 2 switch) and finally the Power
   Management Bus (PMB)
 
 - Scott removes all of the SATA-related Device Tree nodes since SATA
   is unused on the Stingray product line
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmAXLDsACgkQh9CWnEQH
 BwQAYg/+PHQylSBqCnQgi6CiAOjh9/2BrsFjOjUIuHnCG32rSBL9HlciX28S2d+M
 pl8mkHD5VIwLslfZRQK7wCrG8au05Eo/Ao4Kt9iUY3TB8aZ+wa+qGeIYgAPsXsjt
 CdY4Wu19bXulH5BTXsB9zO/6qlFTR+ga3MGN8/oCh+tjDMWOr+wvXzcCm2BIh22s
 h3O+F7W+b3f9+S2Bs3W/f5feCVSplIlIoK85sOLGBduGDt4Jbcfi09IQPzjLwJKW
 u6PK7lRRUa7zcMpD3F3A+g6oRsAhpIa4QcEq2WX2Wsqs/cIh79mUxHKJbjy3FyOD
 HzX5DMM5qP7fef0QtvdOHyKbq35nAUNfoylknJ0FJlnQB09eLmXiwDG0SvUvuAbY
 B2cvIt17+EvvU9Y9KGH32QdY+KRNoZ1OsJud0bkYSFjlet3RnpT5rGowUQWnnv03
 MG2nLDA/g8qrd96g+DuTX/ndnL3Qb52L8x4yeA0Gy2WQ9BH1OtU3YsI9+ELFPHq7
 3U6Z8usZwA5M+3DsPbRA7dudKuXlgQhmh20pluvqsLFqNcxgKdZjFBgraS1VA03h
 eZG5gx7+1lP2ZspFRp0q167pVJ3/SA1iMKD/HiTg2CYyEoqwOwGFGoe3To89BnSk
 Vm+aJyizU/udt8vRvvpjARj+qndDkSEmkIZHkYcYtEUhkbui93s=
 =YhP5
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.12/devicetree-arm64' of https://github.com/Broadcom/stblinux into arm/dt

This pull request contains Broadcom ARM64-based SoCs Device Tree changes
for 5.12 please pull the following:

- Rafal continues to add support for the 4906/4908 SoC family and adds
  a Device Tree for the Netgear R8000P router (4906-based), describes
  the NAND controller of the 4908 more appropriately (based on the older
  63138 DSL SoC), describes the 4908 PCIe reset controller, internal
  Ethernet switch (Starfighter 2 switch) and finally the Power
  Management Bus (PMB)

- Scott removes all of the SATA-related Device Tree nodes since SATA
  is unused on the Stingray product line

* tag 'arm-soc/for-5.12/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: Remove SATA from Stingray
  arm64: dts: broadcom: bcm4908: describe PMB block
  arm64: dts: broadcom: bcm4908: describe internal switch
  arm64: dts: broadcom: bcm4908: describe PCIe reset controller
  arm64: dts: broadcom: bcm4908: use proper NAND binding
  arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P DTS files
  dt-bindings: arm: bcm: document Netgear R8000P binding

Link: https://lore.kernel.org/r/20210131221721.685974-4-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:58:32 +01:00
Andreas Oetken
6c9f18f294 net: hsr: align sup_multicast_addr in struct hsr_priv to u16 boundary
sup_multicast_addr is passed to ether_addr_equal for address comparison
which casts the address inputs to u16 leading to an unaligned access.
Aligning the sup_multicast_addr to u16 boundary fixes the issue.

Signed-off-by: Andreas Oetken <andreas.oetken@siemens.com>
Link: https://lore.kernel.org/r/20210202090304.2740471-1-ennoerlangen@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:57:18 -08:00
Arnd Bergmann
af6e05f171 This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 5.12, please pull the following:
 
 - Dave adds a proper compatile string for the DSI1 panel on 2711
   (Raspberry Pi 4) to permit adequate driver differentiation
 
 - Nicolas declares reserved memory regions filed by the Rasbperry Pi
   bootloader to indicate the running system configuration
 
 - Maxime declares the BSC (HDMI I2C controller) and CEC interrupt
   controllers
 
 - Stanislav fixes a tab vs. space issue in the BCM21664 DTS
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmAXK2UACgkQh9CWnEQH
 BwTv+A/+MnlGGlEi+WiyttD2MPuTyxq8ZB6m/3kmwIaA+SkupYfB80WvQ63SB1+A
 F8L+iEbDEKkXSR7zyfGuYdnE3k51uPM1KOUW2vePrtGvuc1DiO/aSzBb6j55uJKD
 bkoOP2hgLZHUB4zEjgVKYTdZqBvGMlMCW6DeaA6D2OC7RsMgPVCC4/3TuU5KX6k5
 n5mSc337oFhXZIz/Ly/mCqjxrxmvSgAI8TOLM/Hnadhe4MphzBoNIttRNpL92N9C
 qEVJQZSP/v9Nn/4HAdoR6yuNodqh0K7s1MKSc1nOyO33lhpxGIHzeBJWswD5B9og
 Pm6n/TUsR+mhuLk8BcI9T397h7yta2ztICXbBiUEAkd0V+XEEwacxLLFFlsFqOm7
 HjCYu06hzaikNlHgd4+rRvXLQxZx6UQDMsYm4ab8D5mGlJ65KbV65/z4kouGrVpL
 Dhx3X0HI/vZuDE5Stxml6Lw7biIVwx0q7OZfSB/vuHHDT5S0gSFixNtXsUpnQHWu
 U/K++VRqgWwGb2KyaT8EYPwEL6hjCnkKkFiGj0LXXiHC7dvebJ+WxcUmgcQ4Rj0f
 ezZil+v75K23Ktq2XTrkc3/ho1Kz9643w0zrfzy6hucCSERDUWB59rX/XFEmtRSt
 SXyfODoi4SM0eHHg7TSLeVrLe+w2LxPvz0DJbF1agWppJ6uay9I=
 =VFVR
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.12/devicetree' of https://github.com/Broadcom/stblinux into arm/dt

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 5.12, please pull the following:

- Dave adds a proper compatile string for the DSI1 panel on 2711
  (Raspberry Pi 4) to permit adequate driver differentiation

- Nicolas declares reserved memory regions filed by the Rasbperry Pi
  bootloader to indicate the running system configuration

- Maxime declares the BSC (HDMI I2C controller) and CEC interrupt
  controllers

- Stanislav fixes a tab vs. space issue in the BCM21664 DTS

* tag 'arm-soc/for-5.12/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm2711: Add the CEC interrupt controller
  ARM: dts: bcm21664: Replace spaces with a tab
  ARM: dts: bcm2711: Add the BSC interrupt controller
  ARM: dts: bcm2711: Add reserved memory template to hold firmware configuration
  ARM: dts: bcm2711: Use compatible string for BCM2711 DSI1

Link: https://lore.kernel.org/r/20210131221721.685974-3-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:57:14 +01:00
Arnd Bergmann
29a6387c4e Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
   - DT fixes spotted through the schemas
   - Mali Support for the A10s/A13/GR8/R8
   - MMC improvements for the A64 and H6
   - New board: SL631 Action Camera, PineTab Early Adopter
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYBb7uwAKCRDj7w1vZxhR
 xd3mAP46LnfQ/9vvCjhWMV5J7E1ob3u1A5ND3sULpS0X0oEU1wD/aCuoCtSZY4hN
 /lpCtj2QS1GAH8c5ipHqB8SgBRmCoQo=
 =fzEu
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
  - DT fixes spotted through the schemas
  - Mali Support for the A10s/A13/GR8/R8
  - MMC improvements for the A64 and H6
  - New board: SL631 Action Camera, PineTab Early Adopter

* tag 'sunxi-dt-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (47 commits)
  ARM: dts: sunxi: Rename nmi_intc to r_intc
  ARM: dts: sun8i: h2-plus: bananapi-m2-zero: Increase BT UART speed
  ARM: dts: sunxi: bananapi-m2-plus: Increase BT UART speed
  arm64: dts: allwinner: pine-h64: Fix typos in BT GPIOs
  arm64: dts: allwinner: pinetab: Fix the panel compatible
  arm64: dts: allwinner: pinephone: Remove useless light sensor supplies
  arm64: dts: allwinner: h6: Use - instead of @ for DT OPP entries
  ARM: dts: sun8i-a33: sina33: Add missing panel power supply
  ARM: dts: sun8i-a83t: Remove empty CSI port
  ARM: dts: sun8i-s3: pinecube: Fix CSI DTC warnings
  ARM: dts: sun8i-s3: impetus: Fix the USB PHY ID detect GPIO properties
  ARM: dts: sun8i: nanopi-r1: Fix GPIO regulator state array
  ARM: dts: sun6i: primo81: Remove useless io-channel-cells
  ARM: dts: sunxi: Fix CPU thermal zone node name
  ARM: dts: sunxi: Add missing backlight supply
  ARM: dts: sunxi: Fix the LED node names
  dt-bindings: rtc: sun6i-a31-rtc: Loosen the requirements on the clocks
  dt-bindings: iio: adc: Add AXP803 compatible
  dt-bindings: sunxi: Fix the pinecube compatible
  ARM: dts: sun8i-v3s: Add CSI0 MCLK pin definition
  ...

Link: https://lore.kernel.org/r/48511540-fdd6-4fbe-8037-ec9fa8436147.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:54:06 +01:00
Jakub Kicinski
5a4cb54675 mlx5-fixes-2021-02-01
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGhZs6bAKwk/OTgTpSD+KveBX+j4FAmAY+OoACgkQSD+KveBX
 +j6hPAf9G09tOYaZfFkbFmfhe5TnjwPCf/2CdErj+dEPb9GI6rYhVoSYeNqUZSt0
 UYQeutWVSaIohCA79D8l1PFHlOV1CXYO35BGi7Ga6glODzXEDEt0u/kqxAH7eNuF
 VsnxQ2kfzDwN2M8N2xuIzoG66I+IAFa9hukzxLcIPwYjbGDL46p54wNZVSCh/scu
 7CJbpTXTBh9yLRWTfhVouTWMHu3DaC7rMnaB+Yq+lRRzqnQ6Xitdty6uvFSKMv1Y
 CMVuVKH3dafCFhJf/xF7vwdlGo4QcVx2FbZwo0I6tjGEEzYwfCWAaqY+3MB0VRc5
 k7tjJeT6T+MW29knSh71LmTrnm/Abg==
 =FWcp
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-fixes-2021-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

Saeed Mahameed says:

====================
mlx5 fixes 2021-02-01

Please note the first patch in this series
("Fix function calculation for page trees") is fixing a regression
due to previous fix in net which you didn't include in your previous
rc pr. So I hope this series will make it into your next rc pr,
so mlx5 won't be broken in the next rc.

* tag 'mlx5-fixes-2021-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
  net/mlx5e: Release skb in case of failure in tc update skb
  net/mlx5e: Update max_opened_tc also when channels are closed
  net/mlx5: Fix leak upon failure of rule creation
  net/mlx5: Fix function calculation for page trees
====================

Link: https://lore.kernel.org/r/20210202070703.617251-1-saeed@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:51:26 -08:00
Arnd Bergmann
c2f76057d3 Devicetree changes for TI K3 platforms for v5.12 merge window:
- Common fixups: PMU compatible, MMC dtbs_check warnings squelch
 
 - J7200: R5F, PCIe, SERDES support
 
 - J721E: PCIE fixups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmAVV9oACgkQ3bWEnRc2
 JJ1jjA/9EHhyfoIrdnCf/1/x/vBKcpIn/9BZ5rDgeBsmWtipglBQkqnwE341kijs
 Gv15azQGx84LJPlgNG9TbozNHXEX1mLkJkEEX0C/PFh6GuF+Saoeuh8xrOVixwo1
 xgkFjrXXHHb4aUOLGzjEKmCeFaWDnmIhJIupTOMa7FJm/GuV3m81kY+R66nW+pWs
 kb7KWWy/hum/yEHeF1uYRdv4TRg2aTKeJTqlMTdMjl6IJWq/GiZCs7UrVGQPpCAt
 E/1tRwHQJDCY0VYWrmoBSiCtAa8dikE6wyvz5Qmk/aWTBEjMbBN4DkZJJsSNXi2B
 qUan+q3atirf+JaPEqpqVdGilOeFcjJE0amkzY8k4a2kxJg2qizbZiW66rSDmo1y
 7BZZEzO1UBKzBiZz7HbZj1gfZypn44k5P474ZA5IMrcUJvxZlfhVAuJ2Uz7tCGPO
 4mqyS43c0Oidh5rjSUjwUjuz4r7eZ5gFWUuoQVrkTzEz6J2Vx150bb2qXhLJob6M
 ywN0xfEYMX6LBwkj2sGeKO5tnyeZBsZysXFemmF+HtjLuwSujubPK4h5TbcB64FY
 CPfshpvRrz7mla74w45RW1nUp+DnAs21ZuC33gLGh45n0Jshl5sJyRPD67yXHdqN
 D4BP48fZQZ3tFQkaSYnHXoASUcEz8IsWES10vpoznoOpP77wBa4=
 =mq2V
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/dt

Devicetree changes for TI K3 platforms for v5.12 merge window:

- Common fixups: PMU compatible, MMC dtbs_check warnings squelch

- J7200: R5F, PCIe, SERDES support

- J721E: PCIE fixups

* tag 'ti-k3-dt-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux:
  arm64: dts: ti: k3*: Fixup PMU compatibility to be CPU specific
  arm64: dts: ti: k3: mmc: fix dtbs_check warnings
  arm64: dts: ti: k3-j7200-som-p0: Add DDR carveout memory nodes for R5Fs
  arm64: dts: ti: k3-j7200-som-p0: Add mailboxes to R5Fs
  arm64: dts: ti: k3-j7200: Add R5F cluster nodes
  arm64: dts: ti: k3-j7200-common-proc-board: Enable PCIe
  arm64: dts: ti: k3-j7200-common-proc-board: Enable SERDES0
  arm64: dts: ti: k3-j7200-main: Add PCIe device tree node
  arm64: dts: ti: k3-j7200-main: Add SERDES and WIZ device tree node
  arm64: dts: ti: k3-j721e-main: Remove "syscon" nodes added for pcieX_ctrl
  arm64: dts: ti: k3-j721e-main: Fix supported max outbound regions

Link: https://lore.kernel.org/r/20210130131422.yvq2edxfongys7x5@pendant
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:49:21 +01:00
Jakub Kicinski
f2539e14f3 Merge branch 'net-ipa-a-few-bug-fixes'
Alex Elder says:

====================
net: ipa: a few bug fixes

This series fixes four minor bugs.  The first two are things that
sparse points out.  All four are very simple and each patch should
explain itself pretty well.
====================

Link: https://lore.kernel.org/r/20210201232609.3524451-1-elder@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:48:17 -08:00
Alex Elder
113b6ea09c net: ipa: fix two format specifier errors
Fix two format specifiers that used %lu for a size_t in "ipa_mem.c".

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:48:15 -08:00
Alex Elder
c13899f187 net: ipa: use the right accessor in ipa_endpoint_status_skip()
When extracting the destination endpoint ID from the status in
ipa_endpoint_status_skip(), u32_get_bits() is used.  This happens to
work, but it's wrong: the structure field is only 8 bits wide
instead of 32.

Fix this by using u8_get_bits() to get the destination endpoint ID.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:48:15 -08:00
Alex Elder
088f8a2396 net: ipa: be explicit about endianness
Sparse warns that the assignment of the metadata mask for a QMAP
endpoint in ipa_endpoint_init_hdr_metadata_mask() is a bad
assignment.  We know we want the mask value to be big endian, even
though the value we write is in host byte order.  Use a __force
tag to indicate we really mean it.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:48:15 -08:00
Alex Elder
e6cdd6d80b net: ipa: add a missing __iomem attribute
The virt local variable in gsi_channel_state() does not have an
__iomem attribute but should.  Fix this.

Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Amy Parker <enbyamy@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:48:15 -08:00
Dan Carpenter
4ace7a6e28 net: ipa: pass correct dma_handle to dma_free_coherent()
The "ring->addr = addr;" assignment is done a few lines later so we
can't use "ring->addr" yet.  The correct dma_handle is "addr".

Fixes: 650d160382 ("soc: qcom: ipa: the generic software interface")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/YBjpTU2oejkNIULT@mwanda
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:46:22 -08:00
Heiner Kallweit
cc9f07a838 r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set
So far phy_disconnect() is called before free_irq(). If CONFIG_DEBUG_SHIRQ
is set and interrupt is shared, then free_irq() creates an "artificial"
interrupt by calling the interrupt handler. The "link change" flag is set
in the interrupt status register, causing phylib to eventually call
phy_suspend(). Because the net_device is detached from the PHY already,
the PHY driver can't recognize that WoL is configured and powers down the
PHY.

Fixes: f1e911d5d0 ("r8169: add basic phylib support")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/fe732c2c-a473-9088-3974-df83cfbd6efd@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:44:15 -08:00
Sabyrzhan Tasbolatov
a11148e6fc net/rds: restrict iovecs length for RDS_CMSG_RDMA_ARGS
syzbot found WARNING in rds_rdma_extra_size [1] when RDS_CMSG_RDMA_ARGS
control message is passed with user-controlled
0x40001 bytes of args->nr_local, causing order >= MAX_ORDER condition.

The exact value 0x40001 can be checked with UIO_MAXIOV which is 0x400.
So for kcalloc() 0x400 iovecs with sizeof(struct rds_iovec) = 0x10
is the closest limit, with 0x10 leftover.

Same condition is currently done in rds_cmsg_rdma_args().

[1] WARNING: mm/page_alloc.c:5011
[..]
Call Trace:
 alloc_pages_current+0x18c/0x2a0 mm/mempolicy.c:2267
 alloc_pages include/linux/gfp.h:547 [inline]
 kmalloc_order+0x2e/0xb0 mm/slab_common.c:837
 kmalloc_order_trace+0x14/0x120 mm/slab_common.c:853
 kmalloc_array include/linux/slab.h:592 [inline]
 kcalloc include/linux/slab.h:621 [inline]
 rds_rdma_extra_size+0xb2/0x3b0 net/rds/rdma.c:568
 rds_rm_size net/rds/send.c:928 [inline]

Reported-by: syzbot+1bd2b07f93745fa38425@syzkaller.appspotmail.com
Signed-off-by: Sabyrzhan Tasbolatov <snovitoll@gmail.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Link: https://lore.kernel.org/r/20210201203233.1324704-1-snovitoll@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:44:08 -08:00
Stefan Chulski
43f4a20a12 net: mvpp2: TCAM entry enable should be written after SRAM data
Last TCAM data contains TCAM enable bit.
It should be written after SRAM data before entry enabled.

Fixes: 3f518509de ("ethernet: Add new driver for Marvell Armada 375 network unit")
Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Link: https://lore.kernel.org/r/1612172139-28343-1-git-send-email-stefanc@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:42:38 -08:00
Arnd Bergmann
6102f9e700 Maintainer changes for TI for v5.12 merge window:
- Tero switches to kernel.org address
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmAVWEsACgkQ3bWEnRc2
 JJ0KQA/+PMnNIcCOaXlSgU5NNILQJcJmIDq8oiRRzJowYtBBMzD8zEp5jk1M9roq
 xIGxae+K8o6PukbwG2ghlATUNiPcwYoeSWGsI9KUKufglaJsge2gr7RyOcT4elgP
 /NlrjU0LuFp6FluzNBYkl2FN/UQjAiNWBWsBxuZBzAwowNB0q+xdFg+QT0t9PAUm
 urlpYDZC2vOSUsSZOsuRJlQNZM+TlJYY9cDV4D23lnrs+jhSqOw+WWVG3O4ka1dJ
 7dhBYsRE99nW+ipFgbNYMpA5KhnmCIt8NN+74nMvkEuRvfSyokCXG1yaDlrIyuYX
 DSwOZQCIhAbyrYfuM5Y5J0IgUIk7yKB3tDagRPXKgMjtqxxugBSLR3GEwiQWN913
 IMhCQ8d3y82gsF6autP2kgRHNfsno+y6Xd6UZtkCqop1cndJ3B9tGYn873EAGINM
 hekwrWzmZG+cqmVOV4zVH3PxRBNrYWw6Y92/QEXpG477LUpaTy4W6clEFqfqvVX0
 aQCjHGLE91q9o83cn2oyIaE5Pu8q2ZEiTUFUFgoJBdliwwKiz5GkHy7OJ1ZDCxVt
 NOCVNcL0eQsNcEgtDOC0SRnEF7k+lTyu2r+iEHZPcEmvUQxtpn7KEcHivxBtID4p
 eDvvTm1TPBL5lpf3Wshj7oxYyTjGxEHmNNPTQ0PTq/DsO4zSoF4=
 =n32f
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-maintainer-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/fixes

Maintainer changes for TI for v5.12 merge window:

- Tero switches to kernel.org address

* tag 'ti-k3-maintainer-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux:
  MAINTAINERS: Update my email address and maintainer level status

Link: https://lore.kernel.org/r/20210130131411.afna4wj72r7xscqn@skinny
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:42:27 +01:00
Xie He
88c7a9fd9b net: lapb: Copy the skb before sending a packet
When sending a packet, we will prepend it with an LAPB header.
This modifies the shared parts of a cloned skb, so we should copy the
skb rather than just clone it, before we prepend the header.

In "Documentation/networking/driver.rst" (the 2nd point), it states
that drivers shouldn't modify the shared parts of a cloned skb when
transmitting.

The "dev_queue_xmit_nit" function in "net/core/dev.c", which is called
when an skb is being sent, clones the skb and sents the clone to
AF_PACKET sockets. Because the LAPB drivers first remove a 1-byte
pseudo-header before handing over the skb to us, if we don't copy the
skb before prepending the LAPB header, the first byte of the packets
received on AF_PACKET sockets can be corrupted.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Acked-by: Martin Schiller <ms@dev.tdt.de>
Link: https://lore.kernel.org/r/20210201055706.415842-1-xie.he.0141@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:40:48 -08:00
Badhri Jagan Sridharan
2a16e18c34 usb: typec: tcpci_maxim: Enable data path when partner is USB Comm capable
Configure USB switches when partner is USB Communication capable.
The is enabled USB data communication over D+/D- pins.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210202003101.221145-3-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-02 17:38:05 +01:00
Badhri Jagan Sridharan
372a3d0b6b usb: typec: tcpci: Add Callback to Usb Communication capable partner
The USB Communications Capable bit indicates if port
partner is capable of communication over the USB data lines
(e.g. D+/- or SS Tx/Rx). TCPM passes this information for chip specific
operations.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210202003101.221145-2-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-02 17:38:05 +01:00
Badhri Jagan Sridharan
a69bdb283f usb: typec: tcpm: Add Callback to Usb Communication capable partner
The USB Communications Capable bit indicates if port
partner is capable of communication over the USB data lines
(e.g. D+/- or SS Tx/Rx). Notify the status of the bit to low
level drivers to perform chip specific operation.
For instance, low level driver enables USB switches on D+/D-
lines to set up data path when the bit is set.

Refactored from patch initially authored by
Kyle Tso <kyletso@google.com>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210202003101.221145-1-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-02 17:38:05 +01:00
Jakub Kicinski
f418bad6cc Two fixes:
- station rate tables were not updated correctly
    after association, leading to bad configuration
  - rtl8723bs (staging) was initializing data incorrectly
    after the previous fix and needed to move the init
    later
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEH1e1rEeCd0AIMq6MB8qZga/fl8QFAmAZYesACgkQB8qZga/f
 l8QOpA//V6cBc+ie4AoWKLU/isc33IiZG15qbwvXrHVouLaMgSg4SKQ3cQMwRKd7
 Y6cDJynj4EkIo7RZlRMIo5Dsefm2sv6L41tDhfVwR8Z7+wOmGKSXsmYABpjWttaZ
 4ABEqU2ZUPI3cm5iYF7qKKSNbwSqHeCWjlWnB3TFB8NfzTC+x7uSTQ/8C8/GZ7aF
 tkELHgvdig9+FbdKOs52lmIneTYLEDqxMuv+65XtE9flaYvgWiXCj5ilVVDo8Tjd
 vdCST8ux/9YIEcrhlM+SUM1OFO6AIqZ3EX5S2ZzJdc37PMDDy+nNr95cFrlN4EQ8
 y9avIS0Z+mvw/R7KSDc7XKInpvleC7bzR9DZVQsF8hdV9iB0cmVKyPmASfGpft69
 Ndv2+h2vmWvSHmJDpiroSvTY9WT+AgWCihOU/tj0PrKs+XNLUFfrO08BxFGnaRK/
 +MXzXY7ZmgfU9BFgmlAS2ejRbqfb3V6F5qa2Obj+3gq/SbM9W4Jl8RHiiox7szse
 GdLrT/LjvVEFC/cEMqDzvnGpnVosNkNtJRFMAaGyKs1g/uljl9A51HRZ8HdLrgv9
 bVsMripcQX2JMMxqBwbyfdzPBE0MX8ExkMhyuFbdUyWGEWJqsz4+irr25Bhcyoge
 RaRI6/xPM7DOkB9CDdbvJItBJ9GHYz6gvf+ZiIdu+ClpQ+b3k3s=
 =mEgj
 -----END PGP SIGNATURE-----

Merge tag 'mac80211-for-net-2021-02-02' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211

Johannes Berg says:

====================
Two fixes:
 - station rate tables were not updated correctly
   after association, leading to bad configuration
 - rtl8723bs (staging) was initializing data incorrectly
   after the previous fix and needed to move the init
   later

* tag 'mac80211-for-net-2021-02-02' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211:
  staging: rtl8723bs: Move wiphy setup to after reading the regulatory settings from the chip
  mac80211: fix station rate table updates on assoc
====================

Link: https://lore.kernel.org/r/20210202143505.37610-1-johannes@sipsolutions.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 08:37:01 -08:00
Maxime Ripard
facd93f428
drm/vc4: hvs: Fix buffer overflow with the dlist handling
Commit 0a038c1c29 ("drm/vc4: Move LBM creation out of
vc4_plane_mode_set()") changed the LBM allocation logic from first
allocating the LBM memory for the plane to running mode_set,
adding a gap in the LBM, and then running the dlist allocation filling
that gap.

The gap was introduced by incrementing the dlist array index, but was
never checking whether or not we were over the array length, leading
eventually to memory corruptions if we ever crossed this limit.

vc4_dlist_write had that logic though, and was reallocating a larger
dlist array when reaching the end of the buffer. Let's share the logic
between both functions.

Cc: Boris Brezillon <boris.brezillon@collabora.com>
Cc: Eric Anholt <eric@anholt.net>
Fixes: 0a038c1c29 ("drm/vc4: Move LBM creation out of vc4_plane_mode_set()")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210129160647.128373-1-maxime@cerno.tech
2021-02-02 17:34:08 +01:00
Jupeng Zhong
de71a6cb4b Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv
In btusb_mtk_wmt_recv if skb_clone fails, the alocated skb should be
released.

Omit the labels “err_out” and “err_free_skb” in this function
implementation so that the desired exception handling code
would be directly specified in the affected if branches.

Fixes: a1c49c434e ("btusb: Add protocol support for MediaTek MT7668U USB devices")
Signed-off-by: Jupeng Zhong <zhongjupeng@yulong.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-02-02 17:25:46 +01:00
Gopal Tiwari
e8bd76ede1 Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data
kernel panic trace looks like:

 #5 [ffffb9e08698fc80] do_page_fault at ffffffffb666e0d7
 #6 [ffffb9e08698fcb0] page_fault at ffffffffb70010fe
    [exception RIP: amp_read_loc_assoc_final_data+63]
    RIP: ffffffffc06ab54f  RSP: ffffb9e08698fd68  RFLAGS: 00010246
    RAX: 0000000000000000  RBX: ffff8c8845a5a000  RCX: 0000000000000004
    RDX: 0000000000000000  RSI: ffff8c8b9153d000  RDI: ffff8c8845a5a000
    RBP: ffffb9e08698fe40   R8: 00000000000330e0   R9: ffffffffc0675c94
    R10: ffffb9e08698fe58  R11: 0000000000000001  R12: ffff8c8b9cbf6200
    R13: 0000000000000000  R14: 0000000000000000  R15: ffff8c8b2026da0b
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
 #7 [ffffb9e08698fda8] hci_event_packet at ffffffffc0676904 [bluetooth]
 #8 [ffffb9e08698fe50] hci_rx_work at ffffffffc06629ac [bluetooth]
 #9 [ffffb9e08698fe98] process_one_work at ffffffffb66f95e7

hcon->amp_mgr seems NULL triggered kernel panic in following line inside
function amp_read_loc_assoc_final_data

        set_bit(READ_LOC_AMP_ASSOC_FINAL, &mgr->state);

Fixed by checking NULL for mgr.

Signed-off-by: Gopal Tiwari <gtiwari@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-02-02 17:23:14 +01:00
Mark Chen
fc342c4dc4 Bluetooth: btusb: Add protocol support for MediaTek MT7921U USB devices
There is mt7921 firmware download mechanism

1. Read Chip id from MT7921.

2. Download firmware by endpoint 0, it's the same mechanism with
mt7663/mt7668.
   (it's medaitek specific header format for downloading firmware.)

3. Enabling Bluetooth function.

The information in /sys/kernel/debug/usb/devices about the MT7921U
Bluetooth device is listed as the below.

  T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 40 Spd=480  MxCh= 0
  D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
  P:  Vendor=0e8d ProdID=7961 Rev= 1.00
  S:  Manufacturer=MediaTek Inc.
  S:  Product=Wireless_Device
  S:  SerialNumber=000000000
  C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA
  A:  FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01
  I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=125us
  E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
  E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
  I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
  I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
  I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
  I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
  I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
  I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
  I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
  E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
  E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
  I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
  E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
  E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
  I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
  E:  Ad=8a(I) Atr=03(Int.) MxPS= 512 Ivl=125us
  E:  Ad=0a(O) Atr=03(Int.) MxPS= 512 Ivl=125us

Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-02-02 17:21:52 +01:00
Mark Chen
48c13301e6 Bluetooth: btusb: Fine-tune mt7663 mechanism.
Fine-tune read register for mt7663/mt7921.
For mediatek chip spcific wmt protocol, we add more delay to send EP0
In-Token.

Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-02-02 17:21:52 +01:00
Venkata Lakshmi Narayana Gubba
1bb0c66332 Bluetooth: hci_qca: check for SSR triggered flag while suspend
QCA_IBS_DISABLED flag will be set after memorydump started from
controller.Currently qca_suspend() is waiting for SSR to complete
based on flag QCA_IBS_DISABLED.Added to check for QCA_SSR_TRIGGERED
flag too.

Fixes: 2be43abac5 ("Bluetooth: hci_qca: Wait for timeout during suspend")
Signed-off-by: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-02-02 17:18:44 +01:00
Alex Williamson
76adb20f92 Merge branch 'v5.12/vfio/next-vaddr' into v5.12/vfio/next 2021-02-02 09:17:48 -07:00