mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
DeviceTree fixes for 4.5-rc5:
- Fix irq msi-map calculation for nonzero rid-base. - Binding doc updates for GICv3, fsl-imx-uart, and S3C RTC. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJWxH6ZAAoJEPr7XbWNvGHDyAwQAKR71b5HRhqd8Sm/RdkcBZhE 85qhzldnSmypeC9cD6D4dlCpGqHNn603udDJq2WGUtm5RT9lOee6Qb6vv5Fbf+M0 n9LLwZvvJz/udQms2Rc7pQAC/rwKewGQo37DPnqjuBGelVC3V5E7Yt9ikW0RjRlZ NR5Ku7NjdTUye9vqCWzh323QLNwTY3zfxl/dCBISP5VQmYq3SbBmJrvyksGI7izF sTs/fZbMD4IfWUfMZ6Yb2GqydFVorsNH2HQBmktL08c6lVJ/tVCcRWmgDvC+pQlB oG5rnFkICcxlNQD1utbxOLig63OLHp0sARGdRcQ5T8Mss84FuxxXyZcu3kcyalTM n43HoEhZlQqj9TjjMvb06Hfd9oedR+jYD2CCu4dh4fbdiyaZrGI8DMMaWlJEpDHM CTOnDepsUcaysPfiysG7kzSw9QNPxD/VbmcgUB/0Q3G2WO7e7ICzKs4s/W5UqAPR v2IRQ7cE5UOJ1xQ2gudsMEV54J3XFw5r1sMyD3ci9BuRV+nc5hWLpb4U6fmmxdOw 1lwSsysT8SXBlghiR0anRi/5dHQvKOBvpKC6GlD0py8LUGK1Qh5fj2wHZ5arTxoA FYsHBXbOJinsEeVN3Rj+jWlELjAXpHPWm3d1byr6MmO6Sn+CK+rlyhUG9q/RXxWv 2qOJKnwDEXBRZ4q6IDUJ =IpqU -----END PGP SIGNATURE----- Merge tag 'devicetree-fixes-for-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull DeviceTree fixes from Rob Herring: - Fix irq msi-map calculation for nonzero rid-base. - Binding doc updates for GICv3, fsl-imx-uart, and S3C RTC. * tag 'devicetree-fixes-for-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: rtc: s3c: Document required clocks in the DT binding serial: fsl-imx-uart: Fix typo in fsl,dte-mode description dt-bindings: arm, gic-v3: require that reserved cells are always 0 of/irq: Fix msi-map calculation for nonzero rid-base
This commit is contained in:
commit
c28b947d04
@ -24,9 +24,8 @@ Main node required properties:
|
||||
1 = edge triggered
|
||||
4 = level triggered
|
||||
|
||||
Cells 4 and beyond are reserved for future use. When the 1st cell
|
||||
has a value of 0 or 1, cells 4 and beyond act as padding, and may be
|
||||
ignored. It is recommended that padding cells have a value of 0.
|
||||
Cells 4 and beyond are reserved for future use and must have a value
|
||||
of 0 if present.
|
||||
|
||||
- reg : Specifies base physical address(s) and size of the GIC
|
||||
registers, in the following order:
|
||||
|
@ -14,6 +14,10 @@ Required properties:
|
||||
interrupt number is the rtc alarm interrupt and second interrupt number
|
||||
is the rtc tick interrupt. The number of cells representing a interrupt
|
||||
depends on the parent interrupt controller.
|
||||
- clocks: Must contain a list of phandle and clock specifier for the rtc
|
||||
and source clocks.
|
||||
- clock-names: Must contain "rtc" and "rtc_src" entries sorted in the
|
||||
same order as the clocks property.
|
||||
|
||||
Example:
|
||||
|
||||
@ -21,4 +25,6 @@ Example:
|
||||
compatible = "samsung,s3c6410-rtc";
|
||||
reg = <0x10070000 0x100>;
|
||||
interrupts = <44 0 45 0>;
|
||||
clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
|
||||
clock-names = "rtc", "rtc_src";
|
||||
};
|
||||
|
@ -9,7 +9,7 @@ Optional properties:
|
||||
- fsl,uart-has-rtscts : Indicate the uart has rts and cts
|
||||
- fsl,irda-mode : Indicate the uart supports irda mode
|
||||
- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
|
||||
is DCE mode by default.
|
||||
in DCE mode by default.
|
||||
|
||||
Note: Each uart controller should have an alias correctly numbered
|
||||
in "aliases" node.
|
||||
|
@ -635,6 +635,13 @@ static u32 __of_msi_map_rid(struct device *dev, struct device_node **np,
|
||||
msi_base = be32_to_cpup(msi_map + 2);
|
||||
rid_len = be32_to_cpup(msi_map + 3);
|
||||
|
||||
if (rid_base & ~map_mask) {
|
||||
dev_err(parent_dev,
|
||||
"Invalid msi-map translation - msi-map-mask (0x%x) ignores rid-base (0x%x)\n",
|
||||
map_mask, rid_base);
|
||||
return rid_out;
|
||||
}
|
||||
|
||||
msi_controller_node = of_find_node_by_phandle(phandle);
|
||||
|
||||
matched = (masked_rid >= rid_base &&
|
||||
@ -654,7 +661,7 @@ static u32 __of_msi_map_rid(struct device *dev, struct device_node **np,
|
||||
if (!matched)
|
||||
return rid_out;
|
||||
|
||||
rid_out = masked_rid + msi_base;
|
||||
rid_out = masked_rid - rid_base + msi_base;
|
||||
dev_dbg(dev,
|
||||
"msi-map at: %s, using mask %08x, rid-base: %08x, msi-base: %08x, length: %08x, rid: %08x -> %08x\n",
|
||||
dev_name(parent_dev), map_mask, rid_base, msi_base,
|
||||
|
Loading…
Reference in New Issue
Block a user