Age | Commit message (Collapse) | Author |
|
Integrate SoC camera support for the following CSI-2 codecs/sensors:
- Analog Devices ADV7280-M, analog camera decoder with deinterlacer,
PAL/NTSC@60fps
- ON Semiconductor (formerly Aptina) AP1302 ISP + AR1820 image sensor,
13Mpx, 1080p@30fps
- OmniVision OV5640, 5Mpx sensor, 1080p@30fps
- Toshiba TC358743 HDMI to CSI-2 bridge, 1080p@60fps
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Connected to CSI CIL-E. Cameras doesn't work simultaneously.
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
A major part of the driver has been rewritten in order to avoid
writing binary blobs to the chip.
This version also adds support for more video modes.
Input video modes supported:
- 1920x1080 @ 60
- 1280x1024 @ 75
- 1280x720 @ 60
- 1024x768 @ 75
- 800x600 @ 75
- 640x480 @ 75
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
known issues:
- decoder outputs PAL (720x576), but the image
looks fine only when streamed in 640x576 mode,
- vertical synchronisation glitches,
- setting queue-size in gstreamer greater than 1
results in blinking image,
- every start of streaming requires reloading of
the modules
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
known issues:
- HDMI input works only in 640x480 mode, 720p only in
test pattern mode, any 4-lane mode doesn't work
- set HDMI transmitter to VGA mode before
starting the stream
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
known issues:
- works only in 1080p mode,
- vertical synchronisation glitches,
- setting queue-size in gstreamer greater than 1
results in blinking image
- every start of streaming requires reloading of
the modules
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Re-add SoC camera platform data from Ardbeg/Jetson TK1 board files.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Integrate optional eDP support (e.g. uncomment define of APALIS_TK1_EDP
as found in the platform data header file.
Tested using a prototype Apalis TK1 mezzanine connecting to a Samsung
LTN156FL02-L01 panel featuring a 4K aka UHD resolution of 3840 by 2160.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Select dp pinmux function for Apalis GPIO2 aka DP_HPD to allow it to be used as
eDP hot-plug detect. From user space customer may still configure and use it as
a regular GPIO if desired.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Remove default GPIO functionality from Apalis GPIO1 aka GPIO_PFF2 and Apalis
GPIO2 aka DP_HPD as if later trying to use resp. pins as special function (e.g.
the former for eDP hot-plug detect and the later for SATA data activity) there
is currently no sane way of removing the GPIO functionality again.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Uncomment UART4 device tree node and enable support in machfile
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
drivers/video/tegra/dc/dc.c:116:3: error: 'can_filter' defined but not
used [-Werror=unused-const-variable=]
} can_filter[] = {
^~~~~~~~~~
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
drivers/media/platform/tegra/ad5816.c: In function 'ad5816_param_wr':
drivers/media/platform/tegra/ad5816.c:682:6: error: this 'if' clause
does not guard... [-Werror=misleading-indentation]
if (info->s_mode != NVC_SYNC_STEREO)
^~
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
drivers/media/platform/tegra/dw9718.c:627:6: error: this 'if' clause
does not guard... [-Werror=misleading-indentation]
if (info->s_mode != NVC_SYNC_STEREO)
^~
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
drivers/gpu/nvgpu/gk20a/mm_gk20a.c:124:18: error:
'gmmu_page_masks' defined but not used [-Werror=unused-const-variable=]
static const u64 gmmu_page_masks[gmmu_nr_page_sizes] = { ~0xfffLL,
~0x1ffffLL };
^~~~~~~~~~~~~~~
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
drivers/gpu/nvgpu/gk20a/regops_gk20a.c:344:40: error:
'gk20a_runcontrol_whitelist_ranges' defined but not used
[-Werror=unused-const-variable=]
static const struct regop_offset_range gk20a_runcontrol_whitelist_ranges[] = {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/nvgpu/gk20a/regops_gk20a.c:350:18: error:
'gk20a_runcontrol_whitelist_ranges_count' defined but not used
[-Werror=unused-const-variable=]
static const u32 gk20a_runcontrol_whitelist_ranges_count =
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/nvgpu/gk20a/regops_gk20a.c:366:40: error:
'gk20a_qctl_whitelist_ranges' defined but not used
[-Werror=unused-const-variable=]
static const struct regop_offset_range gk20a_qctl_whitelist_ranges[] = {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/nvgpu/gk20a/regops_gk20a.c:373:18: error:
'gk20a_qctl_whitelist_ranges_count' defined but not used
[-Werror=unused-const-variable=]
static const u32 gk20a_qctl_whitelist_ranges_count =
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
arch/arm/mach-tegra/board-ardbeg.c: In function 'ardbeg_touch_init':
arch/arm/mach-tegra/board-ardbeg.c:1159:6: error: this 'else' clause
does not guard... [-Werror=misleading-indentation]
} else
^~~~
arch/arm/mach-tegra/board-ardbeg.c:1161:5: note: ...this statement, but
the latter is misleadingly indented as if it is guarded by the 'else'
rm31080a_ardbeg_spi_board[0].irq =
^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-tegra/board-ardbeg.c: In function 'tegra_ardbeg_late_init':
arch/arm/mach-tegra/board-ardbeg.c:1470:2: error: this 'else' clause
does not guard... [-Werror=misleading-indentation]
else
^~~~
arch/arm/mach-tegra/board-ardbeg.c:1474:3: note: ...this statement, but
the latter is misleadingly indented as if it is guarded by the 'else'
tegra_io_dpd_enable(&pexbias_io);
^~~~~~~~~~~~~~~~~~~
At top level:
arch/arm/mach-tegra/board-ardbeg.c:1608:27: error:
'loki_dt_board_compat' defined but not used
[-Werror=unused-const-variable=]
static const char * const loki_dt_board_compat[] = {
^~~~~~~~~~~~~~~~~~~~
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
commit 95272c29378ee7dc15f43fa2758cb28a5913a06d upstream.
-ftracer can duplicate asm blocks causing compilation to fail in
noclone functions. For example, KVM declares a global variable
in an asm like
asm("2: ... \n
.pushsection data \n
.global vmx_return \n
vmx_return: .long 2b");
and -ftracer causes a double declaration.
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: stable@vger.kernel.org
Cc: kvm@vger.kernel.org
Reported-by: Linda Walsh <lkml@tlinx.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 5d814ad8d35e5e23e0c27fb0f0b80c1044ecefad)
|
|
commit cb984d101b30eb7478d32df56a0023e4603cba7f upstream.
As gcc major version numbers are going to advance rather rapidly in the
future, there's no real value in separate files for each compiler
version.
Deduplicate some of the macros #defined in each file too.
Neaten comments using normal kernel commenting style.
Signed-off-by: Joe Perches <joe@perches.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Sasha Levin <levinsasha928@gmail.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Alan Modra <amodra@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[ philm: backport to 3.10-stable ]
Signed-off-by: Philip Müller <philm@manjaro.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit a4a4f1cd733fe5b345db4e8cc19bb8868d562a8a)
|
|
This patch allows for easy integration of a custom Linux boot logo to
replace the Tux' being shown by default.
Use gimp or the like to create a raw PPM in your desired resolution.
Reduce the number of colours in the image to 224:
user@host:~$ ppmquant 224 Toradex-640x480.ppm > \
Toradex-640x480-224.ppm
ppmquant: making histogram...
ppmquant: 370 colors found
ppmquant: choosing 224 colors...
ppmquant: mapping image to new colors...
Convert it from raw PPM to ASCII format:
user@host:~$ pnmnoraw Toradex-640x480-224.ppm > \
Toradex-640x480-ascii-224.ppm
Copy it into the Linux sources:
cp Toradex-640x480-ascii-224.ppm linux-toradex/drivers/video/logo/\
logo_custom_clut224.ppm
Activate exclusively custom Linux logo in the kernel configuration:
Device Drivers -> Graphics support -> Bootup logo ->
Custom 224-color Linux logo
And re-compile the kernel.
(cherry picked from commit fa2371bff9ac03581881849d8f95678ef3992719)
|
|
Optimized DVFS table for Apalis TK1 boards.
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
When setting transfer clock rate out of bounds
old clock rate was used without any notice.
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
This patch adds support for the Toradex Apalis TK1 acomputer on module
which can be used on different carrier boards.
The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L
RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor
chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec.
Furthermore, there is a Kinetis MK20DN512 companion micro controller for
analogue, CAN and resistive touch functionality which is not yet
supported.
This is known to boot into either a basic Angstrom/OpenEmbedded/Yocto
or L4T/JetPack Ubuntu based image.
The following things are known to work to a certain extend:
- analogue/digital audio
- debug UART1
- DVFS power management incl. low power core migration
- eMMC
- gigabit Ethernet
- GPIOs
- HDMI (incl. HDA audio)
- I2C
- LVDS
- PCIe
- SATA
- SD/MMC cards
- temperature sensor
- USB host ports
The rest is untested.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Fix the backlight PWM instance used and add 800x600 and 1024x600 LVDS
panel timings.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Patch taken from Manoj Gupta's post on NVIDIA's public embedded systems forum:
https://devtalk.nvidia.com/default/topic/822612/jetson-tk1/-issue-lvds-panel-enabled-effect-hdmi-out-image-pull-down-menu-items/post/4673174/#4673174
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
This fixes the following build time error in case CONFIG_TEGRA_LVDS is enabled:
drivers/video/tegra/dc/sor.h: In function 'tegra_sor_clk_enable':
drivers/video/tegra/dc/sor.h:180:2: error: implicit declaration of function 'clk_prepare_enable' [-Werror=implicit-function-declaration]
clk_prepare_enable(sor->sor_clk);
^
drivers/video/tegra/dc/sor.h: In function 'tegra_sor_clk_disable':
drivers/video/tegra/dc/sor.h:185:2: error: implicit declaration of function 'clk_disable_unprepare' [-Werror=implicit-function-declaration]
clk_disable_unprepare(sor->sor_clk);
^
In file included from drivers/video/tegra/dc/dc_priv_defs.h:26:0,
from drivers/video/tegra/dc/dc_priv.h:23,
from drivers/video/tegra/dc/lvds.c:23:
include/linux/clk.h: At top level:
include/linux/clk.h:330:19: error: static declaration of 'clk_prepare_enable' follows non-static declaration
static inline int clk_prepare_enable(struct clk *clk)
^
In file included from drivers/video/tegra/dc/lvds.h:20:0,
from drivers/video/tegra/dc/lvds.c:22:
drivers/video/tegra/dc/sor.h:180:2: note: previous implicit declaration of 'clk_prepare_enable' was here
clk_prepare_enable(sor->sor_clk);
^
In file included from drivers/video/tegra/dc/dc_priv_defs.h:26:0,
from drivers/video/tegra/dc/dc_priv.h:23,
from drivers/video/tegra/dc/lvds.c:23:
include/linux/clk.h:345:20: error: conflicting types for 'clk_disable_unprepare' [-Werror]
static inline void clk_disable_unprepare(struct clk *clk)
^
include/linux/clk.h:345:20: error: static declaration of 'clk_disable_unprepare' follows non-static declaration
In file included from drivers/video/tegra/dc/lvds.h:20:0,
from drivers/video/tegra/dc/lvds.c:22:
drivers/video/tegra/dc/sor.h:185:2: note: previous implicit declaration of 'clk_disable_unprepare' was here
clk_disable_unprepare(sor->sor_clk);
^
Final patch taken from Manoj Gupta's post on NVIDIA's public embedded systems forum:
https://devtalk.nvidia.com/default/topic/822612/jetson-tk1/-issue-lvds-panel-enabled-effect-hdmi-out-image-pull-down-menu-items/post/4663817/#4663817
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Hack HDA driver to make it the 2nd rather than the first sound card as
the first one should be the SGTL5000 which is always present on our T30
and TK1 modules. Especially on Ixora where there is no HDA codec on the
carrier board HDA being the first sound card does not make much sense
even more though as there was no primary device (e.g. device=hw:0,0).
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
(cherry picked from commit fff75b252e0aed1d8be2b62234624f726c153776)
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Disable the external loopback and use the internal loopback as per
SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits being set to
0xfffd according to the TRM.
Enable card detect polling as we can't use SD1_CD# aka
SDMMC3_CLK_LB_OUT for now as it features some magic properties even
though the external loopback is disabled and the internal loopback used
as per SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits being set
to 0xfffd according to the TRM!
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
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.
Tested on samples of Apalis TK1 2GB V1.0A and V1.0B both with blank
NVMs as well as iNVMs programmed with Intel's defaults.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
(cherry picked from commit c4c3c7449bdb15c53bfebb0a29c73b24ea810d23)
|
|
Springville/i211 with a blank Flash/iNVM use a different PCI ID (tools
only, not for driver) than properly programmed ones.
While at it also fix ethtool time stamping as well as RX flow hash
indirection functionality.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
(cherry picked from commit 2c7123458270c9b3ec9b5ed668f9d55a7f8dbad9)
|
|
Integrate latest igb driver version 5.3.5.3
(igb-5.3.5.3.tar.gz from e1000.sf.net).
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
This fixes the following GCC 5.2 built time error:
arch/arm/mach-tegra/tegra_cl_dvfs.c: In function 'monitor_get':
arch/arm/mach-tegra/tegra_cl_dvfs.c:372:8: error: 'v' may be used uninitialized in this function [-Werror=maybe-uninitialized]
*data &= CL_DVFS_MONITOR_DATA_MASK;
^
arch/arm/mach-tegra/tegra_cl_dvfs.c:2949:6: note: 'v' was declared here
u32 v, s;
^
arch/arm/mach-tegra/tegra_cl_dvfs.c: In function 'cl_dvfs_calibrate':
arch/arm/mach-tegra/tegra_cl_dvfs.c:372:8: error: 'data' may be used uninitialized in this function [-Werror=maybe-uninitialized]
*data &= CL_DVFS_MONITOR_DATA_MASK;
^
arch/arm/mach-tegra/tegra_cl_dvfs.c:902:11: note: 'data' was declared here
u32 val, data;
^
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
newer compilers throw the following error:
arch/arm/mach-tegra/tegra12_clocks.c: In function 'tegra12_cpu_clk_init':
arch/arm/mach-tegra/tegra12_clocks.c:1334: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>
|
|
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)
|
|
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)
|
|
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)
|
|
This reverts commit ca90caa335e3ded32ad6b0a92ad0fa00b67b2322.
We do require eMMC hardware area boot partition access for fw-util aka U-Boot
envrionment access.
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
As stated by the eMMC 5.0 specification, a chip should not be rejected
only because of the revision stated in the EXT_CSD_REV field of the
EXT_CSD register.
Remove the control on this value, the control of the CSD_STRUCTURE field
should be sufficient to reject future incompatible changes.
Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 03a59437ef6b6ad7fb0165cb9b96c08d6bf057fc)
|
|
DIPM is not a POR for Tegra AHCI Sata Controller
Bug 200087528
Change-Id: I5a742170177c9f57426f3756a8cfafefa88af92b
Signed-off-by: Preetham Chandru R <pchandru@nvidia.com>
Reviewed-on: http://git-master/r/1013776
(cherry picked from commit 7ebd3b1058491ee87686e9e731b79ecd914e00d9)
Reviewed-on: http://git-master/r/1031624
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
Bug 1729847
Change-Id: Ie455b0469a1d4e35453ca9e36c5e90dfdc6f56a2
Signed-off-by: Bhushan Rupde <brupde@nvidia.com>
Reviewed-on: http://git-master/r/1147432
Reviewed-by: Mohan Nimaje <mnimaje@nvidia.com>
Reviewed-by: Soumen Dey <sdey@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
In case kernel fails to open a channel (e.g. due to inability to
allocate hardware context or turn on the device), the channel open
function releases the resources that were already allocated
successfully.
However, currently the error path additionally calls the channel
release function for putting the channel pointer after the private
data structures have been freed - thereby causing use-after-free
memory usage.
This patch reworks error handling in channel open to release
channel without risking usage of already freed memory.
Bug 1763577
Change-Id: Ic7562e69f2babad653afc7a11e413701494a30b4
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/1148081
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Tested-by: Winnie Hsu <whsu@nvidia.com>
|
|
In nvhost_ioctl_ctrl_module_regrdwr(), we copy offset
to read/write from user space but we do not have
any check on it
So it is possible for user space to add unaligned
offset and request read/write which would crash the
system
Fix this by explicitly checking alignment of the
offset passed by user space
Bug 1739935
Change-Id: Iea2a07c60500af876b732a0e9d9d08535aa53b5c
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1029405
(cherry picked from commit 422baa09a17a6a17f4e572aa5441ca174634de0d)
Reviewed-on: http://git-master/r/1123363
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Tested-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|