Yocto Project Linux Firmware
  1. Yocto Project Linux Firmware

linux-wandboard

Public

Network

 
AuthorCommitMessageCommit Date
Adrian HunterAdrian Hunter
27f888099f8mmc: block: Restore line inadvertently removed with packed commands Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 5dd784d2e4eb765ae86b3366484d01429bb7adca)
Linus WalleijLinus Walleij
1a8b43d5349mmc: block: delete packed command support I've had it with this code now. The packed command support is a complex hurdle in the MMC/SD block layer, around 500+ lines of code which was introduced in 2013 in commit ce39f9d17c14 ("mmc: support packed write command for eMMC4.5 devices") commit abd9ac144947 ("mmc: add packed command feature of eMMC4.5") ...and since then it has been rotting. The original author of the code has disappeared from the community and the mail address is bouncing. F...
Linus WalleijLinus Walleij
279b0849128mmc: delete is_first_req parameter from pre-request callback The void (*pre_req) callback in the struct mmc_host_ops vtable is passing an argument "is_first_req" indicating whether this is the first request or not. None of the in-kernel users use this parameter: instead, since they all just do variants of dma_map* they use the DMA cookie to indicate whether a pre* callback has already been done for a request when they decide how to handle it. Delete the parameter from the callback and all ...
Ulf HanssonUlf Hansson
2e72f09d0b9mmc: core: Update CMD13 polling policy when switch to HS DDR mode According to the JEDEC specification, during bus timing change operations for mmc, sending a CMD13 could trigger CRC errors. As switching to HS DDR mode indeed causes a bus timing change, polling with CMD13 to detect card busy, may thus potentially trigger CRC errors. Currently these errors are treated as the switch to HS DDR mode failed. To improve this behaviour, let's instead tell __mmc_switch() to retry when it encounter...
Ulf HanssonUlf Hansson
280882e8918mmc: core: Allow CMD13 polling when switching to HS mode for mmc In cases when the mmc host doesn't support HW busy detection, polling for a card being busy by using CMD13 is beneficial. That is because, instead of waiting a fixed amount of time, 500ms or the generic CMD6 time from EXT_CSD, we find out a lot sooner when the card stops signaling busy. This leads to a significant decreased total initialization time for the mmc card. However, to allow polling with CMD13 during a bus timing cha...
Ulf HanssonUlf Hansson
d4d242cb70cmmc: core: Enable __mmc_switch() to change bus speed timing for the host In cases when a speed mode change is requested for mmc cards, a CMD6 is sent by calling __mmc_switch() during the card initialization. The CMD6 leads to the card entering a busy period. When that is completed, the host must parse the CMD6 status to find out whether the change of the speed mode succeeded. To enable the mmc core to poll the card by using CMD13 to find out when the busy period is completed, it's reasonabl...
Ulf HanssonUlf Hansson
ce6a962148cmmc: core: Check SWITCH_ERROR bit from each CMD13 response when polling According to the JEDEC specification, the SWITCH_ERROR bit in the device status from a R1 response, is an error bit which may be cleared as soon as the response that reports the error is sent. When polling with CMD13 to find out when the card stops signaling busy after a CMD6 has been sent, we currently parse only the last CMD13 response for the SWITCH_ERROR bit. Consequentially we could loose important information abou...
Ulf HanssonUlf Hansson
614a24a8d26mmc: core: Rename ignore_crc to retry_crc_err to reflect its purpose The ignore_crc parameter/variable name is used at a couple of places in the mmc core. Let's rename it to retry_crc_err to reflect its new purpose. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> (cherry picked from commit 625228fa3e017d80f547b35214c60b4081b5c07d)
Ulf HanssonUlf Hansson
d3999b50cf7mmc: core: Remove redundant __mmc_send_status() There are only one users left which calls __mmc_send_status(). Moreover, the ignore_crc parameter isn't being used, so let's just remove these redundant parts. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> (cherry picked from commit 89e57aedda337a121eca5f2b0adfecbc6ab39b3d)
Ulf HanssonUlf Hansson
a952a0936a1mmc: core: Retry instead of ignore at CRC errors when polling for busy After a CMD6 command has been sent, the __mmc_switch() function might be advised to poll the card for busy by using CMD13 and also by ignoring CRC errors. In the case of ignoring CRC errors, the mmc core tells the mmc host to also ignore these errors via masking the MMC_RSP_CRC response flag. This seems wrong, as it leads to that the mmc host could propagate an unreliable response, instead of a proper error code. What w...
Ritesh HarjaniRitesh Harjani
ad91abf8b18mmc: sdhci: Factor out sdhci_enable_clk Factor out sdhci_enable_clk from sdhci_set_clock and make it EXPORT_SYMBOL so that it can be called. Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit fec796739740f98737595b0ed72c6fd9d5f718e3)
Linus WalleijLinus Walleij
5bb4b6ea1fdmmc: block: move packed command struct init By moving the mmc_packed_init() and mmc_packed_clean() into the only file in the kernel where they are used, we save two exported functions and can staticize those to the block.c file. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit e01071dd2bfc73d88b63aeec26bff8eb872b1dc9)
Linus WalleijLinus Walleij
65a0cf8c133mmc: block: rename data to blkdata The struct mmc_blk_request contains an opaque void *data that is actually only used to store a pointer to a per-request struct mmc_blk_data. This is confusing, so rename the member to blkdata and forward-declare the block.c local struct. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 7db3028e00f0d19d4ab10d3d5f38afb1d7814861)
Linus WalleijLinus Walleij
8766b3dba60mmc: block: use mmc_req_is_special() Instead of open coding the check for the same thing that the helper checks: use the helper. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit f2818bff37b65bbf05fb2a948f591ff67986e733)
Masahiro YamadaMasahiro Yamada
f2509acf353mmc: sdhci: remove unneeded (void *) casts in sdhci_(pltfm_)priv() The type of host->private is (unsigned long *). No cast is needed to return an opaque pointer. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 178b0fa0d465b2275bec46ebfb98bd5b5d27cf51)
Linus WalleijLinus Walleij
3781a670c4emmc: core: use enum mmc_blk_status properly There were several instances of code using the enum mmc_blk_status by arbitrarily converting it to an int and throwing it around to different functions. This makes the code hard to understand to may give rise to strange errors. Especially the function prototype mmc_start_req() had to be modified to take a pointer to an enum mmc_blk_status and the function pointer .err_check() inside struct mmc_async_req needed to return an enum mmc_blk_status. In...
Linus WalleijLinus Walleij
4adb397783cmmc: block: convert ecc_err to a bool The ecc_err flag is only assigned 0 or 1 and treated as a bool, so convert it to a bool. Cc: Chunyan Zhang <zhang.chunyan@linaro.org> Cc: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 2cc64587089fa73b6a8470dde4a1c704beca4920)
Linus WalleijLinus Walleij
183b6970eedmmc: block: make gen_err a bool variable This gen_err flag is only assigned 0 or 1 and treated as a bool, so convert it to a bool. Cc: Chunyan Zhang <zhang.chunyan@linaro.org> Cc: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit c44d6cefdf36b2c5bd58245eccc793519706a1d4)
Zach BrownZach Brown
6cc70f99db7mmc: sdhci: Use sdhci-caps-mask and sdhci-caps to change the caps read during __sdhci_read_caps The sdhci capabilities register can be incorrect. The sdhci-caps-mask and sdhci-caps dt properties specify which bits of the register are incorrect and what their values should be. This patch makes the sdhci driver use those properties to correct the caps during __sdhci_read_caps. During __sdhci_read_caps Use the sdhci-caps-mask property to turn off the incorrect bits of the sdhci register after ...
Ulf HanssonUlf Hansson
83a0bb36fbdmmc: core: Don't power off the card when starting the host The MMC_CAP2_NO_PRESCAN_POWERUP was invented to avoid running the power up sequence, mmc_power_up(), during ->probe() of the mmc host driver, but instead defer this to the mmc detect work. This is especially useful for those hosts that suffers from a long initialization time, as this time would otherwise add up to the total boot time. However, due to the introduction of runtime PM of mmc host devices in the mmc core, this behaviour ...
Shawn LinShawn Lin
a90185c95bemmc: core: expose the capability of gpio card detect Add new helper API mmc_can_gpio_cd for slot-gpio to make host drivers know whether it supports gpio card detect. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 50fcbbbb79de4b95a765ea170677c9810fcb9cee)
Ulf HanssonUlf Hansson
f197556316emmc: core: Don't use ->card_busy() and CMD13 in combination when polling When polling for busy after sending a MMC_SWITCH command, both the optional ->card_busy() callback and CMD13 are being used in conjunction. This doesn't make sense. Instead it's more reasonable to rely solely on the ->card_busy() callback when it exists. Let's change that and instead use the CMD13 as a fall-back. In this way we avoid sending CMD13, unless it's really needed. Within this context, let's also take the op...
Ulf HanssonUlf Hansson
afd4e3aaa92mmc: core: Factor out code related to polling in __mmc_switch() In yet another step of cleaning up __mmc_switch(), let's factor out the code that deals with card busy polling. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> (cherry picked from commit 716bdb8953c7cad649a62e3333bf59cdd177db3b)
Ulf HanssonUlf Hansson
c4ca91cfdd5mmc: core: Clarify code which deals with polling in __mmc_switch() The __mmc_switch() deserves a clean-up. In this step, let's move some code outside of the do-while loop, which deal deals with the card busy polling. This change simplifies the code in that sense that it becomes easier to follow what is being executed during card busy polling, but it also gives a better understanding for when polling isn't done. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Jaehoon Chung <jh...
Ulf HanssonUlf Hansson
4d0c40a8ffbmmc: core: Make mmc_switch_status() available for mmc core Following changes needs mmc_switch_status() to be available both from mmc.c and mmc_ops.c. Allow that by moving its implementation to mmc_ops.c and make it available via mmc_ops.h. Moving mmc_switch_status() to mmc_ops.c, also enables us to turn mmc_switch_status_error() into static function. So let's take the opportunity to change this as well. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Jaehoon Chung <jh80.chung...
Jaehoon ChungJaehoon Chung
709875f727bmmc: sdhci: put together into one condition checking value of ios->timing is not related with SDCHI v3.0. If Controller version is v3.0, SDHCI_QUIRK_NO_HISPD_BIT is meaningless. To prevent the setting wrong bit moves into one condition checking. (e.g sdhci-s3c doesn't use SDHCI_CTRL_HISPD bit, instead using this bit as other purpose.) Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>...
Li JunLi Jun
b37b88b6fb1MLK-16013-44 staging: typec: tcpm: set data role after src detach As the default data role is device mode if the port is not host, so set the port data role to be device mode after src detach, this is to fix the issue of port data role still kept to be host while the port is open. Acked-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com>
Li JunLi Jun
aa45e1a2c5fMLK-16013-43 staging: typec: tcpci: add extcon for data role switch Use extcon device for dual role switch on typec port. Acked-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com>
Li JunLi Jun
d5827d10405MLK-16013-42 ARM64: imx8mq-evk: enable typec port to be otg Add extcon for typec port(USB0) for support dual roles. Acked-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com>
Roger QuadrosRoger Quadros
c8570ae24e6usb: dwc3: Add dual-role support If dr_mode is "otg" then support dual role mode of operation. Currently this mode is only supported when an extcon handle is present in the dwc3 device tree node. This is needed to get the ID status events of the port. We're using a workqueue to manage the dual-role state transitions as the extcon notifier (dwc3_drd_notifier) is called in an atomic context by extcon_sync() and this doesn't go well with usb_del_gadget_udc() causing a lockdep and softirq warni...
Roger QuadrosRoger Quadros
d3d7b0778bbusb: dwc3: core: make dwc3_set_mode() work properly We can't have both Host and Peripheral roles active at the same time because of one detail on DWC3: it shares the same memory area for both Host and Peripheral registers. When swapping roles we must reinitialize the new role every time. Let's make sure this works for our debugfs interface. Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Roger QuadrosRoger Quadros
5d4bd562979usb: dwc3: debugfs: remove unnecessary | operator Each role is mutually exclusive, the | operator is unnecessary. Remove it. Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Roger QuadrosRoger Quadros
6c6a588b1bbusb: dwc3: core: add current_dr_role member We're going to use this member to track which role we're currently playing, that way we can more easily implement dual-role swap in upcoming patches. Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Roger QuadrosRoger Quadros
5b59158ce90usb: udc: allow adding and removing the same gadget device allow usb_del_gadget_udc() and usb add_gadget_udc() to be called repeatedly on the same gadget->dev structure. We need to clear the gadget->dev structure so that kobject_init() doesn't complain about already initialized object. Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Robin GongRobin Gong
a2c7930211dMLK-16283 regulator: pfuze100: add 500us wait time for switch enable add 500us enable_time for switch to be stable while turned on. Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Viorel SumanViorel Suman
d43f1cff35eMLK-16275-2: ARM64: dts: imx8qm/qxp: Sync ESAI0 and AMIX SAIs rates The ESAI0 and AMIX SAIs rates need to be the same for the common and master clocks in the clock tree given the existing clock rates store/restore functionality and the asynchronous nature of the drivers "probe" method invocation. Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Viorel SumanViorel Suman
dcce168694cMLK-16275-1: ASoC: fsl: amix: fix rates constraints AMIX SAIs frequency was doubled in order to support the [98k rate X 8 channels X 32 bit width]. As consequence the criteria to enforce the rates constrainsts needs to be changed accordingly. Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Fancy FangFancy Fang
53bfff07819MLK-16255-6 video: fbdev: dcss: use aligned width to calc pitch for DPR After alignment handling for DPR, the aligned width may be larger than the same as original width, so use the aligned width to calculate the pitch for DPR. Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Bai PingBai Ping
513e1c9f70cMLK-16266-02 ARM: imx: Enhance the code to support new TO for imx6qp Previous code don't take care about the i.MX6QP revision update of new TO. So improve the code to include future TO support for i.MX6QP. Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai PingBai Ping
cf6fa147714MLK-16266-01 ARM: imx: improve the soc revision calculation flow On our i.MX6 SOC, the DIGPROG register is used for represent the SOC ID and silicon revision. The revision has two part: MAJOR and MINOR. each is represented in 8 bits in the register. bits [15:8]: reflect the MAJOR part of the revision; bits [7:0]: reflect the MINOR part of the revision; In our linux kernel, the soc revision is represented in 8 bits. MAJOR part and MINOR each occupy 4 bits. previous method does NOT take...
Fancy FangFancy Fang
7697bc0c064MLK-16255-5 video: fbdev: dcss: init default video layer buffer to black For video layer, the black pixel value is not 0x0, but (Y: 0x0, U: 128, V: 128). So init the video layer frame buffer contents to the black pixel value by default. Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy FangFancy Fang
17c2e8dbbf4MLK-16255-4 video: fbdev: dcss: add alignment handling for SCALER According to the DCSS spec, the SCALER has alignment limitations for the input source image on both 'x' and 'y' directions of Luma and Chroma planes. And the 'x' and 'y' should be divisable by 4. Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy FangFancy Fang
532e88851f9MLK-16255-3 video: fbdev: dcss: add alignment handling for DPR According to the DCSS spec, the DPR has alignment limitations for the input source image on both 'x' and 'y' directions of Luma and Chroma planes. The DPR has different alignment requirements for different bpp, tile type, rtram buffer lines and etc. Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy FangFancy Fang
f0e1acc9e8fMLK-16255-2 video: fbdev: dcss: use 'db' of ctxld to config DTG DTG is a standard double buffer module which has shadow registers. So use double buffer to config its registers via Context Loader. Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy FangFancy Fang
348d108bc0dMLK-16255-1 video: fbdev: dcss: add 'db' support for ctxld Add double buffer Context Loader function support in DCSS, since some of the submodules have shadow reigsters which are more suitable to use double buffer context loader to load the reigster values for them, and double buffer loadding is earlier than single buffer loading. Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Anson HuangAnson Huang
6165f659d55MLK-16165-2 cpufreq: imx8mq: remove non-necessary opp table initialization For i.MX8MQ, suspend freq can use policy->max after cpu freq table is validated, so no need to get OPP number and MAX frequency for suspend freq now, also add necessary resource free when probe failed. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson HuangAnson Huang
ecb4975164dMLK-16165-1 cpufreq: imx8: remove non-necessary opp table initialization For i.MX8QM/8QXP, suspend freq can use policy->max after cpu freq table is validated, so no need to get OPP number and MAX frequency for suspend freq now, also add necessary resource free when probe failed. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson HuangAnson Huang
c6d51ac9ec1MLK-16244-2 cpufreq: imx8: add SIP cpu-freq support Add SIP cpu-freq support, the CPU hardware frequency scale will be performed by ARM Trusted Firmware, and add cpu-freq suspend support, MAX frequency will be used during suspend. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson HuangAnson Huang
b76bbebf325MLK-16244-1 arm64: dts: freescale: imx8qxp: add cpu-freq set-point Add i.MX8QXP cpu-freq setpoints, currently only 1.2GHz and 1GHz are supported. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Shenwei WangShenwei Wang
280d5df8968MLK-16262: Input: snvs_pwrkey - move devm_request_irq to the end of probe function A pending interrupt may cause a kernel panic at system startup. It is because the necessary data have not been initialized completely before the interrupt handler is called. [ 1.141547] Unable to handle kernel NULL pointer dereference at virtual address 00000048 [ 1.149642] pgd = ffff000009275000 [ 1.153048] [00000048] *pgd=00000000ffffe003[ 1.157148] , *pud=00000000ffffd003 , *pmd=000000000000000...