Commit graph

691,473 commits

Author SHA1 Message Date
Hemant Kumar
060fa0c7a3 perf sdt: ELF support for SDT
This patch serves the initial support to identify and list SDT events in
binaries.  When programs containing SDT markers are compiled, gcc with
the help of assembler directives identifies them and places them in the
section ".note.stapsdt".

To find these markers from the binaries, one needs to traverse through
this section and parse the relevant details like the name, type and
location of the marker. Also, the original location could be skewed due
to the effect of prelinking. If that is the case, the locations need to
be adjusted.

The functions in this patch open a given ELF, find out the SDT section,
parse the relevant details, adjust the location (if necessary) and
populate them in a list.

A typical note entry in ".note.stapsdt" section is as follows :

                                 |--nhdr.n_namesz--|
                ------------------------------------
                |      nhdr      |     "stapsdt"   |
        -----   |----------------------------------|
         |      |  <location>       <base_address> |
         |      |  <semaphore>                     |
nhdr.n_descsize |  "provider_name"   "note_name"   |
         |      |   <args>                         |
        -----   |----------------------------------|
                |      nhdr      |     "stapsdt"   |
                |...

The above shows an excerpt from the section ".note.stapsdt".  'nhdr' is
a structure which has the note name size (n_namesz), note description
size (n_desc_sz) and note type (n_type).

So, in order to parse the note note info, we need nhdr to tell us where
to start from.  As can be seen from <sys/sdt.h>, the name of the SDT
notes given is "stapsdt".  But this is not the identifier of the note.

After that, we go to description of the note to find out its location, the
address of the ".stapsdt.base" section and the semaphore address.
Then, we find the provider name and the SDT marker name and then follow the
arguments.

Signed-off-by: Hemant Kumar <hemant@linux.vnet.ibm.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/146736022628.27797.1201368329092908163.stgit@devbox
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-07-04 19:38:59 -03:00
Arnaldo Carvalho de Melo
2492c465ad perf build: Add feature detection for libelf's elf_getshdrstrndx()
That appeared after 0.140, and will be used in the SDT code, so, to
avoid bisection break on older systems, add a feature detection and
provide a stub with a pr_debug() to keep it building.

Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-80y0eldgweorqnwha9rvfxjr@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-07-04 19:38:59 -03:00
Christophe Jaillet
5d4de16c6d net/mlx4: Fix some indent inconsistancy
Silent a few smatch warnings about indentation.
This include the removal of a 'return' statement in 'resource_tracker.c'.
This 'return' will still be performed when breaking out of the
corresponding 'switch' block.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 15:22:33 -07:00
Jamal Hadi Salim
61cc535de3 net sched actions: skbedit convert to use more modern nla_put_xxx
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 15:11:14 -07:00
Jamal Hadi Salim
ff202ee1ed net sched actions: skbedit add support for mod-ing skb pkt_type
Extremely useful for setting packet type to host so i dont
have to modify the dst mac address using pedit (which requires
that i know the mac address)

Example usage:
tc filter add dev eth0 parent ffff: protocol ip pref 9 u32 \
match ip src 5.5.5.5/32 \
flowid 1:5 action skbedit ptype host

This will tag all packets incoming from 5.5.5.5 with type
PACKET_HOST

Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 15:11:14 -07:00
Jamal Hadi Salim
8b10cab64c net: simplify and make pkt_type_ok() available for other users
Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 15:11:13 -07:00
Mauro Carvalho Chehab
bb2ade02e8 doc-rst: libv4l-introduction: improve format
Fix some cross-references and improve the layout of this
page.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 19:03:49 -03:00
Mauro Carvalho Chehab
0c15aefd9e doc-rst: subdev-formats: Improve figure caption
Add a numbering for the figure.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:53:54 -03:00
Haishuang Yan
d5d5e8d557 geneve: fix max_mtu setting
For ipv6+udp+geneve encapsulation data, the max_mtu should subtract
sizeof(ipv6hdr), instead of sizeof(iphdr).

Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 14:50:22 -07:00
Mauro Carvalho Chehab
c6f7b0f213 doc-rst: dev-subdev: fix some format issues
The conversion from DocBook made somethings look ugly.
Improve them.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:47:13 -03:00
Mauro Carvalho Chehab
41dbe0c189 doc-rst: dev-sliced-vbi: convert table captions into headers
Sphinx doesn't format nice table captions, nor auto-numberate
them. So, convert tables into chapters.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:37:48 -03:00
Mauro Carvalho Chehab
ca023c3d67 doc-rst: dev-raw-vbi fix conversion issues
There are several things that didn't convert well. Fix them,
in order to improve the layout of the formatted document.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:32:02 -03:00
Mauro Carvalho Chehab
f84dd9007f doc-rst: linux_tv: Use references for read()/write()
Use cross-references for read()/write() on a few places
where they weren't used.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:16:57 -03:00
Mauro Carvalho Chehab
863bd721a9 doc-rst: dev-codec: Fix a reference for _STREAMON
The referenced ioctl there is only VIDIOC_STREAMON, so we
should override the name, to avoid it to also show _STREAMOFF.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:05:55 -03:00
Mauro Carvalho Chehab
498e9f3bd1 doc-rst: dev-osd: Fix some issues due to conversion
The conversion to ReST broke a minor things. Fix them.

While here, also make EBUSY constant, just like on other places.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 18:01:04 -03:00
Mauro Carvalho Chehab
471e5602cf doc-rst: dev-overlay: Fix conversion issues
There were several conversion issues on this file, causing it
to be badly formatted. Fix them, in order to match the
design used on DocBook.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 17:51:48 -03:00
Gregory CLEMENT
5f4beef6db arm64: dts: marvell: add peripherals clocks for Armada 37xx
Add two new blocks of clocks. The peripheral clocks are the source clocks
of the peripheral of the Armada 3700 SoC.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-07-04 22:21:13 +02:00
Gregory CLEMENT
e3e1a55eda arm64: dts: marvell: add tbg clocks for Armada 37xx
Add a new block of clocks. The Time Base Generators clocks can be the
parent of the peripheral clocks.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-07-04 22:21:03 +02:00
Gregory CLEMENT
ddeba40b05 arm64: dts: marvell: Add xtal clock support for Armada 3700
The configuration of the clock depend of the gpio latch. This information
is stored in the gpio block registers. That's why the block is shared
using a syscon node.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-07-04 22:19:34 +02:00
Gregory CLEMENT
ff60d834d1 arm64: marvell: enable Armada 3700 clock drivers
This patch enables the support for the clocks drivers used on the
Armada 3700.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-07-04 22:18:06 +02:00
Mauro Carvalho Chehab
6fa26355fd doc-rst: buffer: numerate tables and figures
Sphinx actually doesn't numerate tables nor figures. So,
let's add a subtitle before each table. That makes them
"numerated".

While here, fix the git binary that got corrupted.
Let's hope this will work, as the reason why we had
to encode them were to prevent some issues on commiting
those gif files on git.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 17:15:55 -03:00
Mauro Carvalho Chehab
90865d29db doc-rst: buffer: numerate tables
Sphinx actually  doesn't numerate tables. So, let's add a
subtitle before each table. That makes them numerated.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 16:50:00 -03:00
Mauro Carvalho Chehab
69eee8a512 doc-rst: dmabuf: Add ioctl cross references
There are lots of ioctls mentioned there that aren't cross-referenced.

Convert the const to cross references. That makes it visually
better, and improves navigation along the document.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 16:43:03 -03:00
Mauro Carvalho Chehab
8f764eb97c doc-rst: dmabuf: re-add the missing captions
The conversion from DocBook removed them. Re-add.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 16:31:20 -03:00
Mauro Carvalho Chehab
0579e6e3a3 doc-rst: linux_tv: remove whitespaces
Let's remove bad whitespaces on the entire book.

That helps to avoid mixing whitespace removal with other
patches.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 16:25:48 -03:00
Mauro Carvalho Chehab
a163ad5ceb doc-rst: userp: Add ioctl cross references
There are lots of ioctls mentioned there that aren't cross-referenced.

Convert the const to cross references. That makes it visually
better, and improves navigation along the document.

While here, remove bad whitespaces.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-04 16:20:02 -03:00
Maxime Ripard
73ba3a1c64 ARM: sun5i: Allow PLL3 2x fixed factor clock to change PLL3 rate
In order to be able to properly generate its pixel clock, the pll3-2x fixed
factor needs to be able to change the PLL3 rate too.

Add the needed extra compatible so that it behaves that way.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:11 +02:00
Maxime Ripard
6a706356b4 ARM: sun7i: Add DAI nodes
Add the new DAI blocks to the device tree.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:11 +02:00
Emilio López
60ecb1ef1e ARM: sun7i: Add mod1 clock nodes
This commit adds all the mod1 clocks available on A20 to its device
tree. This list was created by looking at the A20 user manual.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:10 +02:00
Hans de Goede
e6495c86a3 ARM: dts: sun5i: Add mmc1 / sdio-wifi node to mk802
The a10s mk802 uses a rtl8189es sdio wifi chip, add a node enabling
the mmc1 controller, this enables using the wifi chip (together with
an out of tree sdio driver for it).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:10 +02:00
Hans de Goede
afdfcf7c81 ARM: dts: sun5i: Add axp152 pmic node to mk802
Add a node describing the axp152 pmic to the mk802 dts, note there are
no regulator nodes as we do not yet support the regulators on the
axp152.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:09 +02:00
Hans de Goede
ba40e221de ARM: dts: sun5i: Enable otg on the mk802
Enable the otg controller, the id pin is not connected so enable
it in peripheral only mode.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:09 +02:00
Florian Fainelli
d7b9eaff5f ARM: dts: sun7i: Add BCM53125 switch nodes to the lamobo-r1 board
Now that we have a proper binding for Ethernet switches hanging off
different buses, and a driver for the BCM53125 switch, add its Device
Tree as a child MDIO node, at MDIO address 30 (Broadcom pseudo-PHY
address) and describe the ports layout of the Lamobo R1 board.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:08 +02:00
Quentin Schulz
29bc949088 ARM: sun8i: Add Parrot Board DTS
The Parrot Board is an evaluation board with an Allwinner R16 (assumed
to be close to an Allwinner A33), 4GB of eMMC, 512MB of RAM, USB host
and OTG, a WiFi/Bluetooth combo chip, a micro SD Card reader, 2
controllable buttons, an LVDS port with separated backlight and
capacitive touch panel ports, an audio/microphone jack, a camera CSI
port, 2 sets of 22 GPIOs and an accelerometer.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:08 +02:00
Chen-Yu Tsai
3463f32f4c ARM: dts: sun5i: q8-common: Enable USB-based WiFi
The early A13 Q8 tablets all use a Realtek WiFi module connected to
USB1. The module is powered by AXP209's LDO3 at 3.3V.

Move the related settings from sun5i-a13-q8-tablet.dts to
sun5i-q8-common.dtsi, for all q8-based tablets.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:07 +02:00
Luo Yi
04c85ecad3 ARM: dts: sun7i: Add dts file for Bananapi M1 Plus board
Add support for the Bananapi M1 Plus A20 development board from
sinovoip.com.cn . This board is nearly a clone of the Lemaker's
Bananapro, but differ with the wlan chipset connection and i2s pinout.
And I also enable the integrated audio codec on default.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:07 +02:00
Hans de Goede
1cdc0aa5aa ARM: dts: sun8i-q8-common: Add support for USB wifi controllers
Some of the sun8i q8 boards have an usb wifi controller, on other
variants this will result in an used usb root-hub, but the best
way to deal with wifi on this boards is to simply let the kernel
auto-detect usb or sdio wifi controllers.

This has been tested on an a23 based q8 tablet with a RTL8188ETV wifi
controller.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:06 +02:00
Chen-Yu Tsai
659757c20d ARM: dts: sun9i: a80-optimus: Order nodes by alphabetical order
Move the mmc nodes above the ohci nodes for proper ordering by name.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:06 +02:00
Chen-Yu Tsai
08ff3e4ef0 ARM: dts: sun9i: cubieboard4: Order nodes by alphabetical order
Move the &pio node below the mmc nodes for proper ordering by name.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:05 +02:00
Boris Brezillon
b2a83ad217 ARM: dts: sun7i: Add NFC node to Allwinner A20 SoC
Add NAND Flash controller node definition to the A20 SoC.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:05 +02:00
Boris Brezillon
cefd486072 ARM: dts: sun4i: Add NFC node to Allwinner A10 SoC
Add NAND Flash controller node definition to the A10 SoC.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:04 +02:00
Hans de Goede
1199451186 ARM: dts: sun6i: Add pmic / regulator nodes to Mele M9 dts
Add pmic / regulator nodes to Mele M9 dts.

Note both reg_usb1_vbus and reg_dldo4 need to be on for the hub attached
to usb1 to work, and we can list only one usb1_vbus-supply, so dldo4 is
marked as regulator-always-on.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:04 +02:00
Hans de Goede
a4038fd095 ARM: dts: sun6i: Add pmic / regulator nodes to Mele A1000G quad dts
Add pmic / regulator nodes to Mele A1000G quad dts.

Note both reg_usb1_vbus and reg_dldo4 need to be on for the hub attached
to usb1 to work, and we can list only one usb1_vbus-supply, so dldo4 is
marked as regulator-always-on.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:03 +02:00
Hans de Goede
3d9e2b66cf ARM: dts: sun6i: The blue led on the Mele M9 is a power led
The blue led on the Mele M9 is wired to light up as soon as the board
has powered (it will be on while the gpio is still in input / floating
mode), also its location on the top-set box clearly signals "power led".

Until now we've been treating this as a generic usr function led, which
means that when you plug power into the top-set box, the power-led lights
and then turns off as soon as the kernel loads, which looks wrong.

This renames the led from m9:blue:usr to m9:blue:pwr and marks
it as default on, fixing this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
2016-07-04 21:18:03 +02:00
Hans de Goede
a46579bfd9 ARM: dts: sun6i: The blue led on the Mele A1000G quad is a power led
The blue led on the Mele A1000 is wired to light up as soon as the board
has powered (it will be on while the gpio is still in input / floating
mode), also its location on the top-set box clearly signals "power led".

Until now we've been treating this as a generic usr function led, which
means that when you plug power into the top-set box, the power-led lights
and then turns off as soon as the kernel loads, which looks wrong.

This renames the led from m9:blue:usr to a1000g:blue:pwr (fixing a copy
and paste error in the prefix while at it) and marks it as default on,
fixing this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
2016-07-04 21:18:02 +02:00
Hans de Goede
d22d64a506 ARM: dts: sun4i: The blue led on the Mele A1000 is a power led
The blue led on the Mele A1000 is wired to light up as soon as the board
has powered (it will be on while the gpio is still in input / floating
mode), also its location on the top-set box clearly signals "power led".

Until now we've been treating this as a generic usr function led, which
means that when you plug power into the top-set box, the power-led lights
and then turns off as soon as the kernel loads, which looks wrong.

This renames the led from a1000:blue:usr to a1000:blue:pwr and marks
it as default on, fixing this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
2016-07-04 21:18:02 +02:00
Hans de Goede
b2face5229 ARM: dts: sun8i-a23-polaroid-mid2809pxe04: Disable ehci0
The Polaroid mid2809pxe04 tablet uses an sdio esp8089 wifi chip, so
ehci0 is not used and should be disabled.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:01 +02:00
Hans de Goede
4e4cb0df58 ARM: dts: sun8i-a23-polaroid-mid2809pxe04: Add full otg support
Now that we've all the necessary bits in place we can enable
full otg support on these tablets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:01 +02:00
Hans de Goede
77b1be43da ARM: dts: sun8i-a?3-q8-tablet.dts: Add full otg support
Now that we've all the necessary bits in place we can enable
full otg support on these tablets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:00 +02:00
Hans de Goede
46850c55c6 ARM: dts: axp22x.dtsi: Add reg_drivebus node
Add a node describing the drivebus regulator which is an (optional)
part of the axp221/axp223 pmic. Since this regulator may not be
available at all depending on the board, mark it as disabled by
default.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-07-04 21:18:00 +02:00