summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-23rtl8192cu: Add new device IDsColibri_T30_LinuxImageV2.6Beta1_20160331Colibri_T20_LinuxImageV2.6Beta1_20160331Apalis_T30_LinuxImageV2.6Beta1_20160331Larry Finger
The latest vendor (non-mac80211) driver of 9/22/2011 shows some new device IDs for rtl8192cu. In addition, some typos in the table are fixed and one duplicate is removed. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> (cherry picked from commit 6cddafab54e9a17b2efefe982547865955a5ff3a)
2016-03-22ARM: 8429/1: disable GCC SRA optimizationArd Biesheuvel
While working on the 32-bit ARM port of UEFI, I noticed a strange corruption in the kernel log. The following snprintf() statement (in drivers/firmware/efi/efi.c:efi_md_typeattr_format()) snprintf(pos, size, "|%3s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]", was producing the following output in the log: | | | | | |WB|WT|WC|UC] | | | | | |WB|WT|WC|UC] | | | | | |WB|WT|WC|UC] |RUN| | | | |WB|WT|WC|UC]* |RUN| | | | |WB|WT|WC|UC]* | | | | | |WB|WT|WC|UC] |RUN| | | | |WB|WT|WC|UC]* | | | | | |WB|WT|WC|UC] |RUN| | | | | | | |UC] |RUN| | | | | | | |UC] As it turns out, this is caused by incorrect code being emitted for the string() function in lib/vsprintf.c. The following code if (!(spec.flags & LEFT)) { while (len < spec.field_width--) { if (buf < end) *buf = ' '; ++buf; } } for (i = 0; i < len; ++i) { if (buf < end) *buf = *s; ++buf; ++s; } while (len < spec.field_width--) { if (buf < end) *buf = ' '; ++buf; } when called with len == 0, triggers an issue in the GCC SRA optimization pass (Scalar Replacement of Aggregates), which handles promotion of signed struct members incorrectly. This is a known but as yet unresolved issue. (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932). In this particular case, it is causing the second while loop to be executed erroneously a single time, causing the additional space characters to be printed. So disable the optimization by passing -fno-ipa-sra. Cc: <stable@vger.kernel.org> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit a077224fd35b2f7fbc93f14cf67074fc792fbac2)
2016-03-21tegra3_clocks.c: fix unusual comparisionMax Krummenacher
newer compilers throw the following error: tegra3_clocks.c:820:31: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] | c->state = (!is_lp_cluster() == (c->u.cpu.mode == MODE_G))? ON : OFF; | ^ Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-03-21Input: sentelic - use "static inline" instead of "inline"Khem Raj
gcc-5 defaults to gnu11 which used c99 inline semantics in c99 'inline' is not externally visible unlike gnu89, therefore we use 'static inline' which has same semantics between gnu89 and c99 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit bde304575f3ecaa9570a9329196dffaadf3adafa)
2016-03-21Input: lifebook - use "static inline" instead of "inline" in lifebook.hChen Gang
For functions defined in header files we should use static inline rather than inline, which breaks under the latest upstream gcc (which is really gcc issue, but static inline is better suited regardless). The related error (with allmodconfig under tile): MODPOST 4002 modules ERROR: "lifebook_detect" [drivers/input/mouse/psmouse.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit bd447b61c49fc26f0299587db3e6d66da49dc529)
2016-03-21kernel: add support for gcc 5Sasha Levin
We're missing include/linux/compiler-gcc5.h which is required now because gcc branched off to v5 in trunk. Just copy the relevant bits out of include/linux/compiler-gcc4.h, no new code is added as of now. This fixes a build error when using gcc 5. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 71458cfc782eafe4b27656e078d379a34e472adf)
2016-03-21ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.hBehan Webster
With compilers which follow the C99 standard (like modern versions of gcc and clang), "extern inline" does the wrong thing (emits code for an externally linkable version of the inline function). In this case using static inline and removing the NULL version of return_address in return_address.c does the right thing. Signed-off-by: Behan Webster <behanw@converseincode.com> Reviewed-by: Mark Charlebois <charlebm@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d)
2016-03-21bcma: use static keyword for inline function declaration in bcma.hArend van Spriel
Just scratching an itch here, but it makes more sense to use the static keyword if you think about how the compiler treats inline functions. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Alwin Beukers <alwin@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> (cherry picked from commit 084455524f0d46dd210b4397898aff73579b97e8)
2016-03-21apalis/colibri_t20/t30: synchronize USB serial optionsStefan Agner
Compile USB device classes such as WDM and CDC ACM as modules. Enable USB driver for GSM and CDMA modems (Option and others). Also enable USB serial console option which allows to use a USB serial device as a serial console at boot time. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-21apalis_t30: ixora: optionally support leds, switch, foff and wdisableMarcel Ziswiler
The Ixora carrier board has a few MXM3 pins repurposed as follows: Functionality MXM3 Pin LED4_RED 146 LED4_GREEN 162 LED5_RED 156 LED5_GREEN 152 PCIE1_WDISABLE_N 144 SW3 160 UART2_3_RS232_FOFF_N 164 This patch allows uncommenting an IXORA define in the board header file in order to make use of those repurposed pins. Please note that those pins are usually used for the 8-bit MMC/SD slot aka Apalis MMC1 and the SDHCI controller/driver unfortunately changes the output driver behaviour in a way preventing any regular GPIO use. This patch therefore explicitly does not register the SDHCI driver on this controller instance in the Ixora case to avoid this. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-12-15colibri_t20/t30: add as0260 camera platform dataColibri_T30_LinuxImageV2.5Beta3_20151215Colibri_T20_LinuxImageV2.5Beta3_20151215Apalis_T30_LinuxImageV2.5Beta3_20151215Marcel Ziswiler
Add Aptina AS0260 camera platform data. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-12-15apalis/colibri_t20/t30: clean-up board filesMarcel Ziswiler
Purely cosmetic clean-up of board files by fixing indentation, re-ordering camera platform data, splitting lines longer than 80 characters etc. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-12-15colibri_t20: v4l2: adv7280 integrationBhuvanchandra DV
Integrate ADV7280 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-12-15colibri_t30: v4l2: adv7280 integrationBhuvanchandra DV
Integrate ADV7280 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-12-15apalis/colibri_t20/t30: Add multitouch HID supportStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-11-24apalis/colibri_t20/t30: Enable RTL8192CU driverBhuvanchandra DV
Enable RTL8192CU driver to support LM006 USB WiFi adapter. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2015-11-06timeconst.pl: Eliminate Perl warningColibri_T30_LinuxImageV2.5Beta2_20151106Colibri_T20_LinuxImageV2.5Beta2_20151106Apalis_T30_LinuxImageV2.5Beta2_20151106H. Peter Anvin
defined(@array) is deprecated in Perl and gives off a warning. Restructure the code to remove that warning. [ hpa: it would be interesting to revert to the timeconst.bc script. It appears that the failures reported by akpm during testing of that script was due to a known broken version of make, not a problem with bc. The Makefile rules could probably be restructured to avoid the make bug, or it is probably old enough that it doesn't matter. ] Reported-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: <stable@vger.kernel.org> (cherry picked from commit 63a3f603413ffe82ad775f2d62a5afff87fd94a0) Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-11-06Revert "apalis_t30: Make audio and leds-pwm platform devices dependent on ↵Marcel Ziswiler
kconfig symbols" This reverts commit 0b206b99b8b7c27e70fb91bc13e2255cb0cfeb28. Unfortunately there is no CONFIG_AUDIO_SGTL5000_TEGRA! Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-11-02Various Tegra HS UART backportsMitja Spes
Various Tegra HS UART backports Signed-off-by: Mitja Spes <mitja@lxnav.com>
2015-11-02Fix HS UART HW buffer overrun issueMitja Spes
Fix HS UART HW buffer overrun issue when using no flow control Signed-off-by: Mitja Spes <mitja@lxnav.com>
2015-11-02input: touchscreen: fusion: implement multitouch with slot handlingStefan Agner
According to multi-touch-protocol.txt the kernel knows two type of devices: - Type A: devices which provide anonymous contacts - Type B: devices which are capable of tracking individual contacts The Fusion touch screen is a Type B device: The Touch ID field allows to differentiate between 2 different fingers. This updates the driver to properly allocate a slot for each identified contact and use the helper functions available from the input core system. (cherry picked from commit 698d0a9bb80d94adef58122717c61f55dd61e22d)
2015-11-02input: touchscreen: fusion: use level triggered interruptStefan Agner
Use level triggered interrupt which makes sure that even we miss a rising edge (due to latencies in the kernel), the interrupt still will be handled later, and doesn't freeze the input device. (cherry picked from commit ef25b8a9f9c0ca7cc0f0f955d89d112c3e19f75b)
2015-10-23colibri_t30: fix usb host device detection with colibri otg driverMarcel Ziswiler
Turns out the Tegra 3 USB PHY driver had some hard coded dependency on the Tegra OTG driver but we usually just use our own OTG driver purely relying on a cable detect GPIO to determine USB device vs. host role.
2015-10-23apalis_t30: Make audio and leds-pwm platform devices dependent on kconfig ↵Tobias Klauser
symbols Signed-off-by: Tobias Klauser <tobias.klauser@zhinst.com>
2015-10-23usb: gadget: android: Use strlcpy instead of sscanf to get string attributesTobias Klauser
sscanf() stops at first space it encounters, thus spaces are not represented i.e. in iManufacturer or iProduct. Fix this by using strlcpy for string attributes. [ZI: Backported from upstream android gadget driver] Signed-off-by: Tobias Klauser <tobias.klauser@zhinst.com>
2015-10-14mmc: core: Disable HPI for certain Hynix eMMC cardsMarcel Ziswiler
Certain Hynix eMMC 4.41 cards might get broken when HPI feature is used and hence this patch disables the HPI feature for such buggy cards. As some of the other features like BKOPs/Cache/Sanitize are dependent on HPI feature, those features would also get disabled if HPI is disabled. Change-Id: I6a638ce089cbd977122e47aecb721bc3f0adf7b0 Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org> Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> Fix ported from the following Android MSM kernel commit: https://www.codeaurora.org/cgit/quic/la/kernel/msm/commit/?id=84af3731019921a28d595dbf6cbf00539706a42c
2015-10-11mmc: sdhci: handle busy-end interrupt during commandChanho Min
It is fully legal for a controller to start handling busy-end interrupt before it has signaled that the command has completed. So make sure we do things in the proper order, Or it results that command interrupt is ignored so it can cause unexpected operations. This is founded at some toshiba emmc with the bellow warning. "mmc0: Got command interrupt 0x00000001 even though no command operation was in progress." This issue has been also reported by Youssef TRIKI: It is not specific to Toshiba devices, and happens with eMMC devices as well as SD card which support Auto-CMD12 rather than CMD23. Also, similar patch is submitted by: Gwendal Grignou <gwendal@chromium.org> Changes since v1: Fixed conflict with the next of git.linaro.org/people/ulf.hansson/mmc.git and Tested if issue is fixed again. Signed-off-by: Hankyung Yu <hankyung.yu@lge.com> Signed-off-by: Chanho Min <chanho.min@lge.com> Tested-by: Youssef TRIKI <youssef.triki@st.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit e99783a45220a2c5f5a598e0e81213ecf2dbcf2f)
2015-10-11sdhci : handle busy timeout irqMatthieu CASTET
When we wait for busy after sending a command, if there is a timeout, we got SDHCI_INT_DATA_TIMEOUT flags. Before this commit we got the message : "Got data interrupt 0x00100000 even though no data operation was in progress." and we need to wait 10s that sdhci_timeout_timer expires. Signed-off-by: Matthieu CASTET <matthieu.castet@parrot.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit c5abd5e8998e20c2e82999670a03f26f1437d744)
2015-10-11mmc: sdhci: clean up sdio interrupt enable handlingRussell King
We don't need to change the SDHCI_SDIO_IRQ_ENABLED flag when we're merely receiving an interrupt - IRQ handling thread in the MMC core will either re-enable or disable the interrupt via the enable_sdio_irq callback, which will update this status appropriately. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-by: Markus Pargmann <mpa@pengutronix.de> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <chris@printf.net> (cherry picked from commit ef104333a234f66cd13fd16632086a21b90fced6)
2015-10-11mmc: sdhci: clean up interrupt handlingRussell King
sdhci interrupt handling is a mess; there is a lot of code doing very similar things. Let's clean this up a bit: 1. set's clear down cmd, data and bus power interrupts in one go - we're always going to handle these. 2. use a do { } while () loop for looping while there are pending interrupts. 3. group clearing of bits in intmask into one place. This results in the code becoming simpler and easier to read. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-by: Markus Pargmann <mpa@pengutronix.de> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <chris@printf.net> (cherry picked from commit 41005003bcaf4ecfc80e02af01247f2670269816)
2015-10-10mmc: sdhci: check interrupt flags in ISR againAlexander Stein
When using MSI it is possible that a new MSI is sent while an earlier MSI is currently handled. In this case SDHCI_INT_STATUS only contains SDHCI_INT_RESPONSE and the ISR would not be called again. But at the end of the ISR SDHCI_INT_DATA_END is now also pending which would be ignored. Fix this by rereading the interrupt flags in the ISR until no interrupt we care is pending. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> (cherry picked from commit 6379b2375a0c5a6ad437616a4018e6b8fd95e97c)
2015-10-09mmc: sdhci-pci: add runtime pm supportAdrian Hunter
Ths patch allows runtime PM for sdhci-pci, runtime suspending after inactivity of 50ms and ensuring runtime resume before SDHC registers are accessed. During runtime suspend, interrupts are masked. The host controller state is restored at runtime resume. For Medfield, the host controller's card detect mechanism is supplanted by an always-on GPIO which provides for card detect wake-up. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> (cherry picked from commit 66fd8ad5100b5003046aa744a4f12fa31bb831f9)
2015-09-26apalis/colibri_t30: usb: fix performance regressionMarcel Ziswiler
Unfortunately that utmi_phy_remotewake_detected() function gets called one too many times even quite continuously during data transfers and putting an mdelay() in there has a rather adverse effect on the overall system performance including of course degrading USB transfer speeds. Moving the system lock-up avoidance hack further down into the if clause improves the performance again as this typically is only ever evaluated once upon actually plugging something in behind a hub. This fixes a performance regression introduced by the following commit: apalis/colibri_t30: usb: fix low-speed issue hack 629b91fa046df5213ed3312d2e2b8683e6bdd70c
2015-08-31apalis/colibri_t30: Add comments about i2s pin muxing/operationMarcel Ziswiler
Add a comment about DAP FS pin mux requiring INPUT when operating as I2S slave. Add a comment about DAP SCLK requiring INPUT even when operating as I2S master. Add a comment about is_i2s_master in the platform data meaning T30 SoC is I2S master.
2015-06-12colibri_t20: hack: prevent rare boot lock-upMarcel Ziswiler
A customer reported rare boot lock-ups every odd 500 software reboot cycle. This patch removes the display clock initialisation from the early clock initialisation as the boot loader anyway already initialised the same.
2015-06-10colibri_t20/t30: net: usb: asix: ethernet mac address handlingMarcel Ziswiler
Revise Ethernet MAC address assignment: should now handle up to two instances of custom user MACs (2nd one with a 0x100000 offset). This way customer does not have to worry about NVM on a secondary Ethernet on the carrier board and still gets a valid official MAC address from us (e.g. analogous to how we did it on our Protea carrier board). Please note that instead of defaulting to the default ASIX MAC address if no valid one is encountered this driver now generates a random one pre-fixed with the ASIX OUI.
2015-06-10net: usb: asix: integrate driver 4.17.0Marcel Ziswiler
Integrate latest ASIX proprietary driver version 4.17.0 (AX88772C_772B_772A_760_772_178_LINUX_DRIVER_v4.17.0_Source.tar.bz2).
2015-06-09apalis_t30: ov5640 csi camera sensor supportMarcel Ziswiler
Integrate OV5640 CSI camera sensor support.
2015-06-09apalis_t30: clean-up board fileMarcel Ziswiler
2015-06-03colibri_t20: improve pmic rtc accuracyMarcel Ziswiler
It looks like our crystal load capacitance is way off as we just copied NVIDIA's default setting being the lowest possible 1.5 pF due to their boards having 20 pF external caps while our hardware does not have any external caps assembled and we should use the highest 12.5 pF setting.
2015-05-13ASoC: sgtl5000: Fix SMALL_POP bit definitionColibri_T30_LinuxImageV2.4Beta1_20150518Colibri_T20_LinuxImageV2.4Beta1_20150518Apalis_T30_LinuxImageV2.4Beta1_20150518Fabio Estevam
On a mx28evk with a sgtl5000 codec we notice a loud 'click' sound to happen 5 seconds after the end of a playback. The SMALL_POP bit should fix this, but its definition is incorrect: according to the sgtl5000 manual it is bit 0 of CHIP_REF_CTRL register, not bit 1. Fix the definition accordingly and enable the bit as intended per the code comment. After applying this change, no loud 'click' sound is heard after playback Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org (cherry picked from commit c251ea7bd7a04f1f2575467e0de76e803cf59149)
2015-05-13ASoC: sgtl5000: remove useless register write clearingEric Nelson
CHRGPUMP_POWERUP The SGTL5000_CHIP_ANA_POWER register is cached. Update the cached value instead of writing it directly. Upstream-status: sent Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> (cherry picked from commit 309abdeda8c9331013f25b1a1209d9ce8334237b) (cherry picked from commit 8a8b303a7431e66a7ec6ec52bc0e04ed0a1335d0)
2015-05-12apalis/colibri_t20/t30: clean-up module deploymentMarcel Ziswiler
Bring the kernel module configuration more in line with what we currently really deploy. As a second step we can then change the way kernel modules are actually deployed by just deploying them all.
2015-05-12spi:tegra: fix number of words in transferMurat Khairulin
Calculate the number of words in a transfer properly: if there are 129-131 bytes, then number of words is more than 32, therefore the transfer should be handled with DMA rather than FIFO.
2015-05-12Merge branch 'tegra-nand-next' into tegra-nextMarcel Ziswiler
2015-05-04drivers: w1: tegra_w1: Improve IRQ detectionSanchayan Maity
On Tegra30, on a high CPU load or operating at maximum frequency results in continous interrupt generation, with the following log spewout: (tegra_w1_irq: line 236) spurious interrupt, status = 0x800 (tegra_w1_irq: line 236) spurious interrupt, status = 0x800 (tegra_w1_irq: line 236) spurious interrupt, status = 0x800 (tegra_w1_irq: line 236) spurious interrupt, status = 0x800 which shows the TX_FIFO_DATA_REQ to be somehow continously being set. To circumvent this specifically detect the bit transfer and presence done IRQ's only, for generating a "completion" signal on which the core logic waits. We anyhow only wait for these interrupts in particular. While at it, also change the error message to be printed only if it is conditionally enabled instead of all the time, which floods the serial console and allows a wrong interpretation of the one wire device not working at all. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2015-05-04drivers: w1: tegra_w1: Fix race condition on high CPU loadSanchayan Maity
On Tegra3 at high CPU load, for example while running stress, reading data from one wire results in the following stack trace: [ 58.436052] [<c05e93d4>] (__raw_spin_lock_irqsave+0x3c/0xac) from [<c05e945c>] (_raw_spin_lock_irqsave+0x18/0x1c) [ 58.446322] [<c05e945c>] (_raw_spin_lock_irqsave+0x18/0x1c) from [<c0048eb4>] (complete+0x28/0x64) [ 58.455276] [<c0048eb4>] (complete+0x28/0x64) from [<c03e276c>] (tegra_w1_irq+0x74/0xb4) [ 58.463376] [<c03e276c>] (tegra_w1_irq+0x74/0xb4) from [<c009a1fc>] (handle_irq_event_percpu+0x9c/0x278) [ 58.472847] [<c009a1fc>] (handle_irq_event_percpu+0x9c/0x278) from [<c009a424>] (handle_irq_event+0x4c/0x6c) [ 58.482666] [<c009a424>] (handle_irq_event+0x4c/0x6c) from [<c009cc40>] (handle_fasteoi_irq+0xe0/0x118) [ 58.492048] [<c009cc40>] (handle_fasteoi_irq+0xe0/0x118) from [<c0099bd8>] (generic_handle_irq+0x30/0x40) [ 58.501616] [<c0099bd8>] (generic_handle_irq+0x30/0x40) from [<c000ecfc>] (handle_IRQ+0x88/0xc8) [ 58.510393] [<c000ecfc>] (handle_IRQ+0x88/0xc8) from [<c0008430>] (asm_do_IRQ+0x18/0x1c) [ 58.518475] [<c0008430>] (asm_do_IRQ+0x18/0x1c) from [<c000e098>] (__irq_usr+0x38/0xc0) [ 58.526464] Exception stack(0xe51a3fb0 to 0xe51a3ff8) [ 58.531506] 3fa0: 00000000 bea29b04 4030b1b0 4030b4c8 [ 58.539673] 3fc0: 4030b22c 4fd2f305 0000d770 0000d6b0 00000000 00000001 0000000d 00000145 [ 58.547839] 3fe0: 193c62ce bea29af4 4030b22c 4020beb4 600b0010 ffffffff [ 58.554445] Code: e5843004 e10f0000 f10c0080 e3a02001 (e1953f9f) [ 58.560539] ---[ end trace fb2fc83ceb8e95c1 ]--- [ 58.565154] Kernel panic - not syncing: Fatal exception in interrupt [ 58.571520] [<c0014ef4>] (unwind_backtrace+0x0/0xec) from [<c05e10c8>] (dump_stack+0x20/0x24) [ 58.580039] [<c05e10c8>] (dump_stack+0x20/0x24) from [<c05e16a0>] (panic+0x7c/0x1ac) [ 58.587783] [<c05e16a0>] (panic+0x7c/0x1ac) from [<c0012038>] (die+0x280/0x2e8) [ 58.595087] [<c0012038>] (die+0x280/0x2e8) from [<c05e1130>] (__do_kernel_fault.part.3+0x64/0x84) [ 58.603952] [<c05e1130>] (__do_kernel_fault.part.3+0x64/0x84) from [<c0015c84>] (do_page_fault+0x204/0x21c) [ 58.613681] [<c0015c84>] (do_page_fault+0x204/0x21c) from [<c000830c>] (do_DataAbort+0x44/0xa8) [ 58.622369] [<c000830c>] (do_DataAbort+0x44/0xa8) from [<c000de18>] (__dabt_svc+0x38/0x60) This seems to be generated due a possible race condition between the on stack kernel completion being set to NULL in tegra_w1_touch_bit, while a possible spurious IRQ calling this completion in the IRQ handler. This is a temporary bandaid and the ideal solution would be to find why this affects the Tegra3 and not Tegra2. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2015-04-27apalis_t30_defconfig add generic PCIe SATA/AHCI driverMarcel Ziswiler
CONFIG_SATA_AHCI=m This allows using PCIe cards with a SATA interface.
2015-04-14ARM: tegra: hack to make IT parts operate like commercial temp for nowMarcel Ziswiler
As NVIDIA so far was unable to provide us with any proper speedo numbers for their industrial temperature aka IT parts just make SKU 0xB0 aka T30IQS-Ax behave identical to the regular commercial temperature 0xB1 aka T30MQS-Ax for the SKU to speedo ID conversion. This prevents them to fall back to fixed 600 MHz operation and crashing thermal throttling once kicking in due to missing table entry causing a null pointer exception.
2015-04-02apalis_t30: igb: no nvm and Ethernet MAC address handlingMarcel Ziswiler
Springville/i211 with a blank Flash/iNVM use different PCI IDs. Extend the driver to load despite i210/i211 data sheets claiming tools only, not for driver. Only warn rather than fail on NVM validation failures on Apalis T30. Revise Ethernet MAC address assignment: should now handle up to two instances of custom user MACs (2nd one with a 0x100000 offset). This way customer does not have to worry about NVM on a secondary Ethernet on the carrier board and still gets a valid official MAC address from us (e.g. analogous to how we did it on our Protea carrier board). Use the Toradex OUI as default MAC address if no valid one is encountered. Tested on samples of Apalis T30 2GB V1.0B, V1.0C, V1.1A, Apalis T30 1GB V1.0A, V1.1A and Apalis T30 1GB IT V1.1A both with blank NVMs as well as iNVMs programmed with Intel's defaults.