- 27 Jan, 2020 37 commits
-
-
yong mao authored
Host controller may lost interrupt in some specail case. Add SDIO irq recheck mechanism to make sure all interrupts can be processed immediately. Signed-off-by:
Yong Mao <yong.mao@mediatek.com> Tested-by:
Hsin-Yi Wang <hsinyi@chromium.org>
-
Hsin-Yi Wang authored
Elm is Acer Chromebook R13. Hana is Lenovo Chromebook. Both uses mt8173 SoC. Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org>
-
Hsin-Yi Wang authored
Add serial as uart aliases in mt8173. Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org> Reviewed-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Hsin-Yi Wang authored
Elm is Acer Chromebook R13. Hana is Lenovo Chromebook. Both uses mt8173 SoC. Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org> Reviewed-by:
Rob Herring <robh@kernel.org>
-
Enric Balletbo i Serra authored
Change the exported symbols introduced by commit e9153311 ("regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage") from EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL(), like is used for all the core parts. Fixes: e9153311 ("regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage") Reported-by:
Dmitry Osipenko <digetx@gmail.com> Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-to: lkml Series-cc: Liam Girdwood <lgirdwood@gmail.com> Series-cc: Mark Brown <broonie@kernel.org> Series-cc: collabora, dianders@chromium.org, drinkcat@chromium.org, mka@chromium.org
-
Enric Balletbo i Serra authored
`cat /sys/kernel/debug/regulator/regulator_summary` ends on a deadlock when you have a voltage controlled regulator (vctrl). The problem is that the vctrl_get_voltage() and vctrl_set_voltage() calls the regulator_get_voltage() and regulator_set_voltage() and that will try to lock again the dependent regulators (the regulator supplying the control voltage). Fix the issue by exporting the unlocked version of the regulator_get_voltage() and regulator_set_voltage() API so drivers that need it, like the voltage controlled regulator driver can use it. Fixes: f8702f9e ("regulator: core: Use ww_mutex for regulators locking") Reported-by:
Douglas Anderson <dianders@chromium.org> Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-to: lkml Series-cc: Liam Girdwood <lgirdwood@gmail.com> Series-cc: Mark Brown <broonie@kernel.org> Series-cc: collabora, dianders@chromium.org, drinkcat@chromium.org, mka@chromium.org
-
Jitao Shi authored
This patch adds drm_bridge driver for parade DSI to eDP bridge chip. Signed-off-by:
Jitao Shi <jitao.shi@mediatek.com> Reviewed-by:
Daniel Kurtz <djkurtz@chromium.org> [uli: followed API changes, removed FW update feature] Signed-off-by:
Ulrich Hecht <uli@fpond.eu> Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Tested-by:
Hsin-Yi Wang <hsinyi@chromium.org> Reviewed-by:
Ezequiel Garcia <ezequiel@collabora.com> Series-changes: 24 - Fix GPIO polarity as all GPIO descriptors should be handled as active high (Laurent Pinchart) - Make static ps8640_bridge_attach (Ezequiel Garcia) - Use a define for the number of lanes (Ezequiel Garcia) Series-changes: 23 - Merge mute/unmute functions into one (Nicolas Boichat) - Use enum for ENABLE/DISABLE instead of bool (Ezequiel Garcia) - Rename mute/unmute to vdo_control and fix error messages (Nicolas Boichat and Enric) - Add space between address and address parameter 'address%02x' (Nicolas Boichat) - Add Tested-by Hsin-Yi - Added me as author after the refactor Series-changes: 22 - Remove sysfs attributes because are not really used (Enric Balletbo) - Use enum for address page offsets (Ezequiel Garcia) - Remove enable tracking (Enric Balletbo) - Use panel_bridge API (Laurent Pinchart) - Do not use kernel-doc format for non kernel-doc formatted commands (Enric Balletbo) - Remove verbose message for PAGE1_VSTART command (Ezequiel Garcia) - Use time_is_after_jiffies idiom (Ezequiel Garcia) - Remove unused macros (Ezequiel Garcia) - Fix weird alignment in dsi->mode_flags (Laurent Pinchart) - Use drm_of_find_panel_or_bridge helper (Laurent Pinchart) - Remove mode-sel-gpios as is not used (Laurent Pinchart) - Remove error messages to get gpios as the core will already report it (Enric Balletbo) - Remove redundant message getting the regulators (Laurent Pinchart) - Rename sleep-gpios to powerdown-gpios (Laurent Pinchart) - Use ARRAY_SIZE(ps_bridge->page) instead of MAX_DEV when possible (Laurent Pinchart) - Fix race with userspace accessing the sysfs attributes (Laurent Pinchart) - Remove id_table as is only used on DR platforms (Laurent Pinchart) - Convert to new i2c device probe() (Laurent Pinchart) - Use i2c_smbus_read/write helpers instead of open coding it (Laurent Pinchart) - Remove unnused global variables (Laurent Pinchart) - Remove unnused fields in ps8640 struct (Laurent Pinchart) - Remove commented-out headers (Laurent Pinchart) Series-changes: 21 - Use devm_i2c_new_dummy_device and fix build issue using deprecated i2c_new_dummy - Fix build issue due missing drm_bridge.h - Do not remove in ps8640_remove device managed resources Series-changes: 19 - fixed return value of ps8640_probe() when no panel is found Series-changes: 18 - followed DRM API changes - use DEVICE_ATTR_RO() - remove firmware update code - add SPDX identifier Series-changes: 17 - remove some unused head files. - add macros for ps8640 pages. - remove ddc_i2c client - add mipi_dsi_device_register_full - remove the manufacturer from the name and i2c_device_id Series-changes: 16 - Disable ps8640 DSI MCS Function. - Rename gpios name more clearly. - Tune the ps8640 power on sequence. Series-changes: 15 - Drop drm_connector_(un)register calls from parade ps8640. The main DRM driver mtk_drm_drv now calls drm_connector_register_all() after drm_dev_register() in the mtk_drm_bind() function. That function should iterate over all connectors and call drm_connector_register() for each of them. So, remove drm_connector_(un)register calls from parade ps8640. Series-changes: 14 - update copyright info. - change bridge_to_ps8640 and connector_to_ps8640 to inline function. - fix some coding style. - use sizeof as array counter. - use drm_get_edid when read edid. - add mutex when firmware updating. Series-changes: 13 - add const on data, ps8640_write_bytes(struct i2c_client *client, const u8 *data, u16 data_len) - fix PAGE2_SW_REST tyro. - move the buf[3] init to entrance of the function. Series-changes: 12 - fix hw_chip_id build warning Series-changes: 11 - Remove depends on I2C, add DRM depends - Reuse ps8640_write_bytes() in ps8640_write_byte() - Use timer check for polling like the routines in <linux/iopoll.h> - Fix no drm_connector_unregister/drm_connector_cleanup when ps8640_bridge_attach fail - Check the ps8640 hardware id in ps8640_validate_firmware - Remove fw_version check - Move ps8640_validate_firmware before ps8640_enter_bl - Add ddc_i2c unregister when probe fail and ps8640_remove Commit-notes: One of the reviews from Laurent was to use 'i2c_new_ancillary_device'. I didn't change this for two reasons. 1) It doesn't have a devm version, so the remove path is more simple using the devm_i2c_new_dummy_device family. 2) IIUC the ancillary function is useful when you want to retrieve the address from the firmware or DT, that's not really the case here, as we have a base address and fixed offset to the base address which I think is not configurable. Let me know if you still think that I should use the ancillary call. END
-
Jitao Shi authored
Add documentation for DT properties supported by ps8640 DSI-eDP converter. Signed-off-by:
Jitao Shi <jitao.shi@mediatek.com> Acked-by:
Rob Herring <robh@kernel.org> Reviewed-by:
Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by:
Ulrich Hecht <uli@fpond.eu> Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-to: lkml Series-cc: mediatek, collabora Series-version: 24 Series-changes: 22 - Migrate to YAML format (Maxime Ripart) - Remove mode-sel property. - Rename sleep-gpios to powerdown-gpios. Commit-notes: I maintained the ack from Rob Herring and the review from Philipp because in essence the only thing I did is migrate to YAML format and check that no errors are reported via dtbs_check. Just let me know if you're not agree. Apart from this note that I removed the mode-sel property because is not used and I renamed sleep-gpios to powerdown-gpios. END Cover-letter: drm/bridge: PS8640 MIPI-to-eDP bridge Hi all, This is another version of the driver. Note that the driver changed significally and is a more simply because now is using the panel_bridge helpers. Apart from this, I addressed the comments from Maxime, Laurent and Ezequiel. This bridge is required to have the embedded display working on an Acer Chromebook R13 ("Elm"). Hopefully we are a bit more close to have this driver merged. If more changes are required, please let me know and I will work on it. Note: Along these around 20 revisions of this driver I was unable to reconstruct the full changelog history, so I'm skipping this. Sorry about that, I promise I'll maintain the changelog for future revisions. Thanks, Enric END
-
Enric Balletbo i Serra authored
When a device has no support to get the charger number of ports, it doesn't have to result in a dev_err(), print saying "Could not get charger port count" using a dev_info() would suffice. In such case, the dev_info() message is already printed but the dev_err() is annoying, specially, on those devices that doesn't support the command. So remove the dev_err(). Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Reviewed-by:
Guenter Roeck <groeck@chromium.org> Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com> (cherry picked from commit 464aca16)
-
Enric Balletbo i Serra authored
Fix the 'manged' typo with 'managed' in the drm_panel_bridge_add kernel-doc documentation. Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-to: lkml Series-cc: collabora
-
Matthias Brugger authored
The MMSYS subsystem includes clocks and drm components. This patch adds an initailization path through a platform device for the clock part, so that both drivers get probed from the same device tree compatible. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Singed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Singed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Enric Balletbo i Serra authored
Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Matthias Brugger authored
Check the return value of of_clk_get and print an error message if not EPROBE_DEFER. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
It can happen that the mmsys clock drivers aren't probed before the platform driver gets invoked. The platform driver used to print a warning that the driver failed to get the clocks. Omit this error on the defered probe path. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
The mmsys memory space is shared between the drm and the clk driver. Use regmap to access it. Signed-off-by:
Matthias Brugger <mbrugger@suse.com> Reviewed-by:
Philipp Zabel <p.zabel@pengutronix.de>
-
Matthias Brugger authored
MediaTek mt7623 uses the mt2701 binings as fallback. Document this in the binding description. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Matthias Brugger authored
The MediaTek DRM has a block called mmsys, which sets the routing and enalbes the different blocks. This patch adds one line for the mmsys bindings description. Signed-off-by:
Matthias Brugger <mbrugger@suse.com>
-
Enric Balletbo i Serra authored
Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Nicolas Boichat authored
This driver supports single input, 2 output display mux (e.g. HDMI mux), that provide its status via a GPIO. Signed-off-by:
Nicolas Boichat <drinkcat@chromium.org> Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org>
-
Nicolas Boichat authored
Add bindings for Generic GPIO mux driver. Signed-off-by:
Nicolas Boichat <drinkcat@chromium.org> Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org>
-
Nicolas Boichat authored
ANX7688 is a HDMI to DP converter (as well as USB-C port controller), that has an internal microcontroller. The only reason a Linux kernel driver is necessary is to reject resolutions that require more bandwidth than what is available on the DP side. DP bandwidth and lane count are reported by the bridge via 2 registers on I2C. Signed-off-by:
Nicolas Boichat <drinkcat@chromium.org> Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org>
-
Nicolas Boichat authored
Add support for analogix,anx7688 Signed-off-by:
Nicolas Boichat <drinkcat@chromium.org> Signed-off-by:
Hsin-Yi Wang <hsinyi@chromium.org>
-
Enric Balletbo i Serra authored
The 'cros_ec' core driver is the common interface for the cros_ec transport drivers to do the shared operations to register, unregister, suspend, resume and handle_event. The interface is provided by including the header 'include/linux/platform_data/cros_ec_proto.h', however, instead of have the implementation of these functions in cros_ec_proto.c, it is in 'cros_ec.c', which is a different kernel module. Apart from being a bad practice, this can induce confusions allowing the users of the cros_ec protocol to call these functions. The register, unregister, suspend, resume and handle_event functions *should* only be called by the different transport drivers (i2c, spi, lpc, etc.), so make this a bit less confusing by moving these functions from the public in-kernel space to a private include in platform/chrome, and then, the interface for cros_ec module and for the cros_ec_proto module is clean. Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-to: lkml Series-cc: chrome-platform, collabora Series-version: 3 Series-changes: 3 - Mention that moves cros_ec_handle_event in commit description (Benson L.) - Remove the diff for EC_REBOOT_DELAY_MS introduced in v2 (Benson L.) Series-changes: 2 - Update copyright to 2020 (Benson L.) - Do not move EC_REBOOT_DELAY_MS (Benson L.)
-
Enric Balletbo i Serra authored
This header file now only includes the cros_ec_dev struct, however, is the 'include/linux/platform_data/cros_ec_proto.h' who contains the definition of all the Chrome OS EC related structs. There is no reason to have a separate include for this struct so move to the place where other structs are defined. That way, we can remove the include itself, but also simplify the common pattern #include <linux/mfd/cros_ec.h> #include <linux/platform_data/cros_ec_proto.h> for a single include #include <linux/platform_data/cros_ec_proto.h> The changes to remove the cros_ec.h include were generated with the following shell script: git grep -l "<linux/mfd/cros_ec.h>" | xargs sed -i '/<linux\/mfd\/cros_ec.h>/d' Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-to: lkml Series-cc: collabora, chrome-platform
-
Enric Balletbo i Serra authored
Recently we refactored the CrOS EC drivers moving part of the code from the MFD subsystem to the platform chrome subsystem. During this change we needed to rename some config options, so, update the defconfigs accordingly. Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Acked-by:
Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by:
Gwendal Grignou <gwendal@chromium.org> Tested-by:
Gwendal Grignou <gwendal@chromium.org> Acked-by:
Lee Jones <lee.jones@linaro.org> Series-to: lkml Series-cc: chrome-platform, collabora Series-prefix: RESEND
-
Enric Balletbo i Serra authored
There are some EC commands that are not included yet as trace commands, in order to get all the traces for the all supported commands match the commands accordingly. Note that a change, adding or removing an EC command, should be reflected in the cros_ec_trace.c file in order to avoid mismatches again. The list of current commands is generated using the following script: sed -n 's/^#define \(EC_CMD_[[:alnum:]_]*\)\s.*/\tTRACE_SYMBOL(\1),\\/p' \ include/linux/platform_data/cros_ec_commands.h Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Series-version: 2 Series-to: lkml Series-cc: chrome-platform, collabora Series-cc: tzungbi@google.com, rrangel@chromium.org, gwendal@chromium.org Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Enric Balletbo i Serra authored
As part of KernelCI we plan to add different x86 based Chromebooks to do test boot and runtime testing. It will be useful have an upstream defconfig supporting this kind of devices like we have for ARM (multi_v7_defconfig) and ARM64 (defconfig). So add different options to enable different Chromebooks. Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Enric Balletbo i Serra authored
make savedefconfig result in some difference, lets normalize the defconfig Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Lin Huang authored
These are required to support DDR DVFS on rk3399 platform. Signed-off-by:
Lin Huang <hl@rock-chips.com> Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by:
Gaël PORTAY <gael.portay@collabora.com>
-
Enric Balletbo i Serra authored
The Rockchip DMC (Dynamic Memory Interface) needs to access to the PMU general register files to know the DRAM type, so add a phandle to the syscon that manages these registers. Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Reviewed-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Gaël PORTAY <gael.portay@collabora.com> Acked-by:
MyungJoo Ham <myungjoo.ham@samsung.com>
-
Linus Torvalds authored
-
- 26 Jan, 2020 3 commits
-
-
git://git.kernel.dk/linux-blockLinus Torvalds authored
Pull io_uring fixes from Jens Axboe: "Fix for two regressions in this cycle, both reported by the postgresql use case. One removes the added restriction on who can submit IO, making it possible for rings shared across forks to do so. The other fixes an issue for the same kind of use case, where one exiting process would cancel all IO" * tag 'io_uring-5.5-2020-01-26' of git://git.kernel.dk/linux-block: io_uring: don't cancel all work on process exit Revert "io_uring: only allow submit from owning task"
-
git://git.kernel.dk/linux-blockLinus Torvalds authored
Pull block fix from Jens Axboe: "Unfortunately this weekend we had a few last minute reports, one was for block. The partition disable for zoned devices was overly restrictive, it can work (and be supported) just fine for host-aware variants. Here's a fix ensuring that's the case so we don't break existing users of that" * tag 'block-5.5-2020-01-26' of git://git.kernel.dk/linux-block: block: allow partitions on host aware zone devices
-
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds authored
Pull SCSI fixes from James Bottomley: "Two last minute fixes, both in drivers. The fnic one is a highly unlikely condition, but the RDMA one is a recently introduced regression that causes a kernel warning to trigger in every RDMA logon, which would be unsightly if it got into the final release" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: RDMA/isert: Fix a recently introduced regression related to logout scsi: fnic: do not queue commands during fwreset
-