This change fixes a bug that memchr() will read the first word
of the source even if the length is zero. Ironically, the code
was originally written with a test to avoid exactly this problem,
but to make the code conform to Linux coding standards with all
declarations preceding all statements, the first load from memory
was moved up above that test as the initial value for a variable.
The change just moves all the variable declarations to the top
of the file, with no initializers, so that the test can also be
at the top of the file.
Signed-off-by: Chris Metcalf <[email protected]>
glibc assumes that it can count /sys/devices/system/cpu/cpu* to get
the number of configured cpus. For this to be valid on tile, we need
to generate a "cpu" entry for all cpus, including the ones that are
not currently allocated for Linux's use.
Signed-off-by: Chris Metcalf <[email protected]>
This change enables PCI root complex support for TILEPro. Unlike
TILE-Gx, TILEPro has no support for memory-mapped I/O, so the PCI
support consists of hypervisor upcalls for PIO, DMA, etc. However,
the performance is fine for the devices we have tested with so far
(1Gb Ethernet, SATA, etc.).
The <asm/io.h> header was tweaked to be a little bit more aggressive
about disabling attempts to map/unmap IO port space. The hacky
<asm/pci-bridge.h> header was rolled into the <asm/pci.h> header
and the result was simplified. Both of the latter two headers were
preliminary versions not meant for release before now - oh well.
There is one quirk for our TILEmpower platform, which accidentally
negotiates up to 5GT and needs to be kicked down to 2.5GT.
Signed-off-by: Chris Metcalf <[email protected]>
This change adds the first network driver for the tile architecture,
supporting the on-chip XGBE and GBE shims.
The infrastructure is present for the TILE-Gx networking drivers (another
three source files in the new directory) but for now the the actual
tilegx sources are waiting on releasing hardware to initial customers.
Note that arch/tile/include/hv/* are "upstream" headers from the
Tilera hypervisor and will probably benefit less from LKML review.
Signed-off-by: Chris Metcalf <[email protected]>
Vegard Nossum found a unix socket OOM was possible, posting an exploit
program.
My analysis is we can eat all LOWMEM memory before unix_gc() being
called from unix_release_sock(). Moreover, the thread blocked in
unix_gc() can consume huge amount of time to perform cleanup because of
huge working set.
One way to handle this is to have a sensible limit on unix_tot_inflight,
tested from wait_for_unix_gc() and to force a call to unix_gc() if this
limit is hit.
This solves the OOM and also reduce overall latencies, and should not
slowdown normal workloads.
Reported-by: Vegard Nossum <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Only make swapper_pg_dir readonly and pinned when generic x86 architecture code
(which also starts on initial_page_table) switches to it. This helps ensure
that the generic setup paths work on Xen unmodified. In particular
clone_pgd_range writes directly to the destination pgd entries and is used to
initialise swapper_pg_dir so we need to ensure that it remains writeable until
the last possible moment during bring up.
This is complicated slightly by the need to avoid sharing kernel PMD entries
when running under Xen, therefore the Xen implementation must make a copy of
the kernel PMD (which is otherwise referred to by both intial_page_table and
swapper_pg_dir) before switching to swapper_pg_dir.
Signed-off-by: Ian Campbell <[email protected]>
Tested-by: Konrad Rzeszutek Wilk <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
The patch enables ALC887-VD to use the DAC at nid 0x26,
which makes it possible to use this DAC for e g Headphone
volume.
Signed-off-by: David Henningsson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Return PTR_ERR(omap3pandora_dac_reg) instead of 0 if regulator_get failed.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
MCLKDIV bit of Register 04h Clocking1:
0 : Divide by 1
1 : Divide by 2
Thus in the case of freq <= 16500000, we should clear MCLKDIV bit.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
DACSLOPE bit of Register 06h ADC and DAC Control 2:
0: Normal mode
1: Sloping stop-band mode
Thus in the case of normal mode, we should clear DACSLOPE bit.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
MX51 Babbage has an AT45DB321 SPI Flash connected to eCSPI1.
Add support for it.
Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
Acked-by: Uwe Kleine-König <[email protected]>
Code called from an initcall can be maybe called for
machines it's not intended for. So check for valid
machines and return gracefully if an incompatible machine
is found.
Signed-off-by: Sascha Hauer <[email protected]>
Code called from an initcall can be maybe called for
machines it's not intended for. So check for valid
machines and return gracefully if an incompatible machine
is found.
Signed-off-by: Sascha Hauer <[email protected]>
Code called from an initcall can be maybe called for
machines it's not intended for. So check for valid
machines and return gracefully if an incompatible machine
is found.
Signed-off-by: Sascha Hauer <[email protected]>
This patch adds a Kconfig option for the avic irq controller
and lets the SoCs that need it select this option.
Also, as we have two irq controllers for i.MX, irq.c is not
appropriate anymore, so rename it to avic.c
Signed-off-by: Sascha Hauer <[email protected]>
PHYS_OFFSET may become a variable once the runtime PHYS_OFFSET
patch is merged, so use MX51_PHYS_OFFSET for boot_params.
Signed-off-by: Sascha Hauer <[email protected]>
The efikamx board is using a gpio to reset the board so add support
for it
Signed-off-by: Arnaud Patard <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
On efikamx, uboot is stored on a nor spi flash. Add support for it
Signed-off-by: Arnaud Patard <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
This patch adds support for power key button of the efika mx. It's connected
on GPIO 2 31.
Signed-off-by: Arnaud Patard <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
The efika mx a 3 leds (1 blue, 1 red, 1 green) connected on GPIOS 3 13/14/15.
Also, some special care is done for default trigger of blue led for mmc as
the mmc host used is different between hw revisions
Signed-off-by: Arnaud Patard <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
The efika mx is using a esdhc host for mmc support. Now that the sdhci
has support for it, enable it.
Signed-off-by: Arnaud Patard <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
- ALT0 is used to set GPIO mode of GPIO_1_{2,3,4,5,6,7,8,9} but it's ALT1
for GPIO_1_{0,1}.
Signed-off-by: Arnaud Patard <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
On the mx31_3ds board the touchscreen feature is provided by MC13783 PMIC.
Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
The following patch is a first step to convert the 'struct pad_desc'
to a bitmapped cookie to facilitate adding platform specific pullup or
drive strength definitions to existing pad definitions without need to
rewrite the complete pad def.
The patch wraps 'struct pad_desc' in an opaque data type and
introduces macros to access the individual members.
This patch does not constitute any functional change!
Signed-off-by: Lothar Waßmann <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
sis_main.c is always compiled, so we can check Kconfig options there.
Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Thomas Winischhofer <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
Delete code for compiling the driver for X.org/XFree86. The development
has forked, so there is no point keeping this code in the tree.
Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Thomas Winischhofer <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
If pci_map_rom() fails, there is some fallback code that basically
duplicates pci_map_rom() on non-x86 platforms. No point in that.
Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Thomas Winischhofer <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
The PLLC2 clock was utilizing the same sort of enable/disable without
regard to usecount approach that the FSIDIV clock was when being used as
a PLL pass-through. This forces the enable/disable through the clock
framework, which now prevents the clock from being ripped out or modified
underneath users that have an existing handle on it.
Signed-off-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>