5 years agoMerge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into... ti-rt-linux-4.14.y-next-20180906
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (33 commits)
net: ethernet: ti: cpsw: fix runtime_pm while add/kill vlan
net: ethernet: ti: cpsw: clear all entries when delete vid
net: ethernet: ti: cpts: mark expected switch fall-through
net: ethernet: ti: cpsw: replace unnecessarily macroses on functions
net: ethernet: ti: cpsw: add missed RX_CTAG feature for second slave
net: ethernet: ti: cpts: break cycle once late ts is matched
net: ethernet: ti: cpsw: allow PTP 224.0.0.107 to be timestamped
net: ethernet: ti: cpsw: use BIT macro
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
net: ti: cpsw: include gpio/consumer.h
net: davinci: fix building davinci mdio code without CONFIG_OF
ti: ethernet: davinci: Fix cast to int warnings
net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
net: ethernet: ti: cpts: Fix timestamp print
ti: ethernet: cpdma: Use correct format for genpool_*
net: ethernet: ti: cpsw: disable mq feature for "AM33xx ES1.0" devices
net: ethernet: ti: cpdma: correct error handling for chan create
net: ethernet: ti: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded
ti_config_fragments: connectivity.cfg: Enable McSPI
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (33 commits)
net: ethernet: ti: cpsw: fix runtime_pm while add/kill vlan
net: ethernet: ti: cpsw: clear all entries when delete vid
net: ethernet: ti: cpts: mark expected switch fall-through
net: ethernet: ti: cpsw: replace unnecessarily macroses on functions
net: ethernet: ti: cpsw: add missed RX_CTAG feature for second slave
net: ethernet: ti: cpts: break cycle once late ts is matched
net: ethernet: ti: cpsw: allow PTP 224.0.0.107 to be timestamped
net: ethernet: ti: cpsw: use BIT macro
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
net: ti: cpsw: include gpio/consumer.h
net: davinci: fix building davinci mdio code without CONFIG_OF
ti: ethernet: davinci: Fix cast to int warnings
net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
net: ethernet: ti: cpts: Fix timestamp print
ti: ethernet: cpdma: Use correct format for genpool_*
net: ethernet: ti: cpsw: disable mq feature for "AM33xx ES1.0" devices
net: ethernet: ti: cpdma: correct error handling for chan create
net: ethernet: ti: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded
ti_config_fragments: connectivity.cfg: Enable McSPI
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'audio-display-ti-linux-4.14.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.14.y
TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio-display-ti-linux-4.14.y
* 'audio-display-ti-linux-4.14.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree:
ti_config_fragments: audio_display: Enable UDMA platform driver for ASoC
arm64: dts: ti: Add overlay for AM65x GP application board
ASoC: davinci-mcasp: Add support for platforms using UDMA
ASoC: ti: Add UDMA platform driver
ASoC: ti: New directory for Texas Instruments SoCs
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio-display-ti-linux-4.14.y
* 'audio-display-ti-linux-4.14.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree:
ti_config_fragments: audio_display: Enable UDMA platform driver for ASoC
arm64: dts: ti: Add overlay for AM65x GP application board
ASoC: davinci-mcasp: Add support for platforms using UDMA
ASoC: ti: Add UDMA platform driver
ASoC: ti: New directory for Texas Instruments SoCs
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'connectivity-ti-linux-4.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.14.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.14.y
* 'connectivity-ti-linux-4.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel: (28 commits)
net: ethernet: ti: cpsw: fix runtime_pm while add/kill vlan
net: ethernet: ti: cpsw: clear all entries when delete vid
net: ethernet: ti: cpts: mark expected switch fall-through
net: ethernet: ti: cpsw: replace unnecessarily macroses on functions
net: ethernet: ti: cpsw: add missed RX_CTAG feature for second slave
net: ethernet: ti: cpts: break cycle once late ts is matched
net: ethernet: ti: cpsw: allow PTP 224.0.0.107 to be timestamped
net: ethernet: ti: cpsw: use BIT macro
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
net: ti: cpsw: include gpio/consumer.h
net: davinci: fix building davinci mdio code without CONFIG_OF
ti: ethernet: davinci: Fix cast to int warnings
net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
net: ethernet: ti: cpts: Fix timestamp print
ti: ethernet: cpdma: Use correct format for genpool_*
net: ethernet: ti: cpsw: disable mq feature for "AM33xx ES1.0" devices
net: ethernet: ti: cpdma: correct error handling for chan create
net: ethernet: ti: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded
ti_config_fragments: connectivity.cfg: Enable McSPI
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.14.y
* 'connectivity-ti-linux-4.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel: (28 commits)
net: ethernet: ti: cpsw: fix runtime_pm while add/kill vlan
net: ethernet: ti: cpsw: clear all entries when delete vid
net: ethernet: ti: cpts: mark expected switch fall-through
net: ethernet: ti: cpsw: replace unnecessarily macroses on functions
net: ethernet: ti: cpsw: add missed RX_CTAG feature for second slave
net: ethernet: ti: cpts: break cycle once late ts is matched
net: ethernet: ti: cpsw: allow PTP 224.0.0.107 to be timestamped
net: ethernet: ti: cpsw: use BIT macro
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
net: ti: cpsw: include gpio/consumer.h
net: davinci: fix building davinci mdio code without CONFIG_OF
ti: ethernet: davinci: Fix cast to int warnings
net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
net: ethernet: ti: cpts: Fix timestamp print
ti: ethernet: cpdma: Use correct format for genpool_*
net: ethernet: ti: cpsw: disable mq feature for "AM33xx ES1.0" devices
net: ethernet: ti: cpdma: correct error handling for chan create
net: ethernet: ti: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded
ti_config_fragments: connectivity.cfg: Enable McSPI
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (33 commits)
arm64: dts: k3-am6: Add crypto accelarator node
crypto: sa2ul: Add 3DES ECB & CBC Mode support
crypto: sa2ul: Add hmac(sha256) HMAC algorithm support
crypto: sa2ul: Add hmac(sha1) HMAC algorithm support
crypto: sa2ul: Add hmac(sha256)cbc(aes) AEAD Algo support
crypto: sha256_generic: Export the Transform function
crypto: sa2ul: Add aead support for hmac(sha1)cbc(aes) algorithm
crypto: sa2ul: Add AES ECB Mode support
crypto: sa2ul: Add crypto driver
dt-bindings: crypto: k3: Add sa2ul bindings documentation
firmware: ti_sci: Add doc for rm helper apis
dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
irqchip: ti-sci-inta: Update docs and misc fixes
irqchip: ti-sci-inta: Allow GIC to be a interrupt parent
dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
irqchip: ti-sci-intr: Update doc and error handling
arm64: dts: k3-am6: Remove unused dma-channels property from udma nodes
dmaengine: ti: k3-udma: New function for resource tracking initialization
dmaengine: ti: k3-udma: Ignore the dma-channels property from DT
dmaengine: ti: k3-udma: Move tisci lookup early in probe
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (33 commits)
arm64: dts: k3-am6: Add crypto accelarator node
crypto: sa2ul: Add 3DES ECB & CBC Mode support
crypto: sa2ul: Add hmac(sha256) HMAC algorithm support
crypto: sa2ul: Add hmac(sha1) HMAC algorithm support
crypto: sa2ul: Add hmac(sha256)cbc(aes) AEAD Algo support
crypto: sha256_generic: Export the Transform function
crypto: sa2ul: Add aead support for hmac(sha1)cbc(aes) algorithm
crypto: sa2ul: Add AES ECB Mode support
crypto: sa2ul: Add crypto driver
dt-bindings: crypto: k3: Add sa2ul bindings documentation
firmware: ti_sci: Add doc for rm helper apis
dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
irqchip: ti-sci-inta: Update docs and misc fixes
irqchip: ti-sci-inta: Allow GIC to be a interrupt parent
dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
irqchip: ti-sci-intr: Update doc and error handling
arm64: dts: k3-am6: Remove unused dma-channels property from udma nodes
dmaengine: ti: k3-udma: New function for resource tracking initialization
dmaengine: ti: k3-udma: Ignore the dma-channels property from DT
dmaengine: ti: k3-udma: Move tisci lookup early in probe
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.14.y
TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.14.y
* 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree: (33 commits)
arm64: dts: k3-am6: Add crypto accelarator node
crypto: sa2ul: Add 3DES ECB & CBC Mode support
crypto: sa2ul: Add hmac(sha256) HMAC algorithm support
crypto: sa2ul: Add hmac(sha1) HMAC algorithm support
crypto: sa2ul: Add hmac(sha256)cbc(aes) AEAD Algo support
crypto: sha256_generic: Export the Transform function
crypto: sa2ul: Add aead support for hmac(sha1)cbc(aes) algorithm
crypto: sa2ul: Add AES ECB Mode support
crypto: sa2ul: Add crypto driver
dt-bindings: crypto: k3: Add sa2ul bindings documentation
firmware: ti_sci: Add doc for rm helper apis
dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
irqchip: ti-sci-inta: Update docs and misc fixes
irqchip: ti-sci-inta: Allow GIC to be a interrupt parent
dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
irqchip: ti-sci-intr: Update doc and error handling
arm64: dts: k3-am6: Remove unused dma-channels property from udma nodes
dmaengine: ti: k3-udma: New function for resource tracking initialization
dmaengine: ti: k3-udma: Ignore the dma-channels property from DT
dmaengine: ti: k3-udma: Move tisci lookup early in probe
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.14.y
* 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree: (33 commits)
arm64: dts: k3-am6: Add crypto accelarator node
crypto: sa2ul: Add 3DES ECB & CBC Mode support
crypto: sa2ul: Add hmac(sha256) HMAC algorithm support
crypto: sa2ul: Add hmac(sha1) HMAC algorithm support
crypto: sa2ul: Add hmac(sha256)cbc(aes) AEAD Algo support
crypto: sha256_generic: Export the Transform function
crypto: sa2ul: Add aead support for hmac(sha1)cbc(aes) algorithm
crypto: sa2ul: Add AES ECB Mode support
crypto: sa2ul: Add crypto driver
dt-bindings: crypto: k3: Add sa2ul bindings documentation
firmware: ti_sci: Add doc for rm helper apis
dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
irqchip: ti-sci-inta: Update docs and misc fixes
irqchip: ti-sci-inta: Allow GIC to be a interrupt parent
dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
irqchip: ti-sci-intr: Update doc and error handling
arm64: dts: k3-am6: Remove unused dma-channels property from udma nodes
dmaengine: ti: k3-udma: New function for resource tracking initialization
dmaengine: ti: k3-udma: Ignore the dma-channels property from DT
dmaengine: ti: k3-udma: Move tisci lookup early in probe
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
net: ethernet: ti: cpsw: fix runtime_pm while add/kill vlan
commit 803c4f64d79d2fced37a0650b94e6c84296dffd6 upstream.
It's exclusive with normal behaviour but if try to set vlan to one of
the reserved values is made, the cpsw runtime pm is broken.
Fixes: a6c5d14f5136 ("drivers: net: cpsw: ndev: fix accessing to suspended device")
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 803c4f64d79d2fced37a0650b94e6c84296dffd6 upstream.
It's exclusive with normal behaviour but if try to set vlan to one of
the reserved values is made, the cpsw runtime pm is broken.
Fixes: a6c5d14f5136 ("drivers: net: cpsw: ndev: fix accessing to suspended device")
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: clear all entries when delete vid
commit be35b982e83a3f2c2cfbb27320066fb8a27168c2 upstream.
In cases if some of the entries were not found in forwarding table
while killing vlan, the rest not needed entries still left in the
table. No need to stop, as entry was deleted anyway. So fix this by
returning error only after all was cleaned. To implement this, return
-ENOENT in cpsw_ale_del_mcast() as it's supposed to be.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit be35b982e83a3f2c2cfbb27320066fb8a27168c2 upstream.
In cases if some of the entries were not found in forwarding table
while killing vlan, the rest not needed entries still left in the
table. No need to stop, as entry was deleted anyway. So fix this by
returning error only after all was cleaned. To implement this, return
-ENOENT in cpsw_ale_del_mcast() as it's supposed to be.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpts: mark expected switch fall-through
commit e38c2e11ebcc2bd13aa8220bc4ccce5228030526 upstream.
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.
Addresses-Coverity-ID: 114813 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit e38c2e11ebcc2bd13aa8220bc4ccce5228030526 upstream.
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.
Addresses-Coverity-ID: 114813 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: replace unnecessarily macroses on functions
commit fea49f60c9b748abf4a1a9b2e9391d0c5b003848 upstream.
Replace ugly macroses on functions.
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit fea49f60c9b748abf4a1a9b2e9391d0c5b003848 upstream.
Replace ugly macroses on functions.
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: add missed RX_CTAG feature for second slave
commit 193736c81788556811238690ed0048af18740a8d upstream.
Seems it was missed while adding for first net dev in dual-emac mode.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 193736c81788556811238690ed0048af18740a8d upstream.
Seems it was missed while adding for first net dev in dual-emac mode.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpts: break cycle once late ts is matched
commit d0c694fc7b01a500741d4085d26ed78df5aa6c7a upstream.
The late ts queue can contain a bunch of skbs while hi rate testing,
no need to check all of them if timestamp is already matched.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit d0c694fc7b01a500741d4085d26ed78df5aa6c7a upstream.
The late ts queue can contain a bunch of skbs while hi rate testing,
no need to check all of them if timestamp is already matched.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: allow PTP 224.0.0.107 to be timestamped
commit 1c0e8123e32a048a6c79435704c77d9e04ec5a1b upstream.
Tested on AM572x with cpsw v1.15 for PTP sync and delay_req messages.
It doesn't work on cpsw v1.12, so added only for cpsw v > 1.15.
Command for testing:
ptp4l -P -4 -H -i eth0 -l 6 -m -q -p /dev/ptp0 -f ptp.cfg
where ptp.cfg:
[global]
tx_timestamp_timeout 20
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 1c0e8123e32a048a6c79435704c77d9e04ec5a1b upstream.
Tested on AM572x with cpsw v1.15 for PTP sync and delay_req messages.
It doesn't work on cpsw v1.12, so added only for cpsw v > 1.15.
Command for testing:
ptp4l -P -4 -H -i eth0 -l 6 -m -q -p /dev/ptp0 -f ptp.cfg
where ptp.cfg:
[global]
tx_timestamp_timeout 20
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: use BIT macro
commit 1239a96a8fcbdaa5e4171db12ccc694027a20ee7 upstream.
It's needed to avoid checkpatch warnings for farther changes.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 1239a96a8fcbdaa5e4171db12ccc694027a20ee7 upstream.
It's needed to avoid checkpatch warnings for farther changes.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
commit 40141bb480a2c7805e8f4faec14ade90121ecb06 upstream.
The function cpdma_desc_pool_create is local to the source and does not
need to be in global scope, so make it static.
Cleans up sparse warning:
warning: symbol 'cpdma_desc_pool_create' was not declared. Should it
be static?
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 40141bb480a2c7805e8f4faec14ade90121ecb06 upstream.
The function cpdma_desc_pool_create is local to the source and does not
need to be in global scope, so make it static.
Cleans up sparse warning:
warning: symbol 'cpdma_desc_pool_create' was not declared. Should it
be static?
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ti: cpsw: include gpio/consumer.h
commit e2b3e493784fe07eac385611acbaaf7bff86c496 upstream.
On platforms that don't always enable CONFIG_GPIOLIB, we run into
a build failure:
drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_probe':
drivers/net/ethernet/ti/cpsw.c:3006:9: error: implicit declaration of function 'devm_gpiod_get_array_optional' [-Werror=implicit-function-declaration]
mode = devm_gpiod_get_array_optional(&pdev->dev, "mode", GPIOD_OUT_LOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/ti/cpsw.c:3006:59: error: 'GPIOD_OUT_LOW' undeclared (first use in this function); did you mean 'GPIOF_INIT_LOW'?
mode = devm_gpiod_get_array_optional(&pdev->dev, "mode", GPIOD_OUT_LOW);
Since we cannot rely on this to be visible from gpio.h, we have to include
gpio/consumer.h directly.
Fixes: 2652113ff043 ("net: ethernet: ti: Allow most drivers with COMPILE_TEST")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit e2b3e493784fe07eac385611acbaaf7bff86c496 upstream.
On platforms that don't always enable CONFIG_GPIOLIB, we run into
a build failure:
drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_probe':
drivers/net/ethernet/ti/cpsw.c:3006:9: error: implicit declaration of function 'devm_gpiod_get_array_optional' [-Werror=implicit-function-declaration]
mode = devm_gpiod_get_array_optional(&pdev->dev, "mode", GPIOD_OUT_LOW);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/ti/cpsw.c:3006:59: error: 'GPIOD_OUT_LOW' undeclared (first use in this function); did you mean 'GPIOF_INIT_LOW'?
mode = devm_gpiod_get_array_optional(&pdev->dev, "mode", GPIOD_OUT_LOW);
Since we cannot rely on this to be visible from gpio.h, we have to include
gpio/consumer.h directly.
Fixes: 2652113ff043 ("net: ethernet: ti: Allow most drivers with COMPILE_TEST")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: davinci: fix building davinci mdio code without CONFIG_OF
commit 37c9102f216c2ecd4296de1027fbfc4fa7d73877 upstream.
Test-building this driver on targets without CONFIG_OF revealed a build
failure:
drivers/net/ethernet/ti/davinci_mdio.c: In function 'davinci_mdio_probe':
drivers/net/ethernet/ti/davinci_mdio.c:380:9: error: implicit declaration of function 'davinci_mdio_probe_dt'; did you mean 'davinci_mdio_probe'? [-Werror=implicit-function-declaration]
This adjusts the #ifdef logic in the driver to make it build in
all configurations.
Fixes: 2652113ff043 ("net: ethernet: ti: Allow most drivers with COMPILE_TEST")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 37c9102f216c2ecd4296de1027fbfc4fa7d73877 upstream.
Test-building this driver on targets without CONFIG_OF revealed a build
failure:
drivers/net/ethernet/ti/davinci_mdio.c: In function 'davinci_mdio_probe':
drivers/net/ethernet/ti/davinci_mdio.c:380:9: error: implicit declaration of function 'davinci_mdio_probe_dt'; did you mean 'davinci_mdio_probe'? [-Werror=implicit-function-declaration]
This adjusts the #ifdef logic in the driver to make it build in
all configurations.
Fixes: 2652113ff043 ("net: ethernet: ti: Allow most drivers with COMPILE_TEST")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
ti: ethernet: davinci: Fix cast to int warnings
commit c79c3850440c1535b845e96e7e5ff0139ba479e6 upstream.
Now that we can compile test this driver on 64-bit hosts, we get some
warnings about how a pointer/address is written/read to/from a register
(sw_token). Fix this by doing the appropriate conversions, we cannot
possibly have the driver work on 64-bit hosts the way the tokens are
managed though, since the registers being written to a 32-bit only.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit c79c3850440c1535b845e96e7e5ff0139ba479e6 upstream.
Now that we can compile test this driver on 64-bit hosts, we get some
warnings about how a pointer/address is written/read to/from a register
(sw_token). Fix this by doing the appropriate conversions, we cannot
possibly have the driver work on 64-bit hosts the way the tokens are
managed though, since the registers being written to a 32-bit only.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
commit bf2ce3fdf314cd181908b55a4d6c58817674a062 upstream.
When building on a 64-bit host we will get the following warning:
drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_add_ch_strings':
drivers/net/ethernet/ti/cpsw.c:1284:19: warning: format '%d' expects
argument of type 'int', but argument 5 has type 'long unsigned int'
[-Wformat=]
"%s DMA chan %d: %s", rx_dir ? "Rx" : "Tx",
~^
%ld
Fix this by using an %ld format and casting to long.
Fixes: e05107e6b747 ("net: ethernet: ti: cpsw: add multi queue support")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit bf2ce3fdf314cd181908b55a4d6c58817674a062 upstream.
When building on a 64-bit host we will get the following warning:
drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_add_ch_strings':
drivers/net/ethernet/ti/cpsw.c:1284:19: warning: format '%d' expects
argument of type 'int', but argument 5 has type 'long unsigned int'
[-Wformat=]
"%s DMA chan %d: %s", rx_dir ? "Rx" : "Tx",
~^
%ld
Fix this by using an %ld format and casting to long.
Fixes: e05107e6b747 ("net: ethernet: ti: cpsw: add multi queue support")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpts: Fix timestamp print
commit ea5ec9fc9eb8bb1eed5ff12dcec328dec918664f upstream.
On 64-bit hosts we will get the following warning:
drivers/net/ethernet/ti/cpts.c: In function 'cpts_overflow_check':
drivers/net/ethernet/ti/cpts.c:297:11: warning: format '%lld' expects
argument of type 'long long int', but argument 3 has type
'__kernel_time_t {aka long int}' [-Wformat=]
pr_debug("cpts overflow check at %lld.%09lu\n", ts.tv_sec,
ts.tv_nsec);
Fix this by using an appropriate casting that works on all bit sizes.
Fixes: a5c79c26e168 ("ptp: cpts: convert to the 64 bit get/set time methods.")
Fixes: 87c0e764d43a ("cpts: introduce time stamping code and a PTP hardware clock.")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit ea5ec9fc9eb8bb1eed5ff12dcec328dec918664f upstream.
On 64-bit hosts we will get the following warning:
drivers/net/ethernet/ti/cpts.c: In function 'cpts_overflow_check':
drivers/net/ethernet/ti/cpts.c:297:11: warning: format '%lld' expects
argument of type 'long long int', but argument 3 has type
'__kernel_time_t {aka long int}' [-Wformat=]
pr_debug("cpts overflow check at %lld.%09lu\n", ts.tv_sec,
ts.tv_nsec);
Fix this by using an appropriate casting that works on all bit sizes.
Fixes: a5c79c26e168 ("ptp: cpts: convert to the 64 bit get/set time methods.")
Fixes: 87c0e764d43a ("cpts: introduce time stamping code and a PTP hardware clock.")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
ti: ethernet: cpdma: Use correct format for genpool_*
commit b4eb7393683d70976a0736b37f1562e8421e3120 upstream.
Now that we can compile davinci_cpdma.c on 64-bit hosts, we can see that
the format used for printing a size_t type is incorrect, use %zd
accordingly.
Fixes: aeec3021043b ("net: ethernet: ti: cpdma: remove used_desc counter")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit b4eb7393683d70976a0736b37f1562e8421e3120 upstream.
Now that we can compile davinci_cpdma.c on 64-bit hosts, we can see that
the format used for printing a size_t type is incorrect, use %zd
accordingly.
Fixes: aeec3021043b ("net: ethernet: ti: cpdma: remove used_desc counter")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpsw: disable mq feature for "AM33xx ES1.0" devices
commit 9611d6d6e24cd40ff887bdbb4dfe36a2ee88d488 upstream.
The early versions of am33xx devices, related to ES1.0 SoC revision
have errata limiting mq support. That's the same errata as
commit 7da1160002f1 ("drivers: net: cpsw: add am335x errata workarround for
interrutps")
AM33xx Errata [1] Advisory 1.0.9
http://www.ti.com/lit/er/sprz360f/sprz360f.pdf
After additional investigation were found that drivers w/a is
propagated on all AM33xx SoCs and on DM814x. But the errata exists
only for ES1.0 of AM33xx family, limiting mq support for revisions
after ES1.0. So, disable mq support only for related SoCs and use
separate polls for revisions allowing mq.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 9611d6d6e24cd40ff887bdbb4dfe36a2ee88d488 upstream.
The early versions of am33xx devices, related to ES1.0 SoC revision
have errata limiting mq support. That's the same errata as
commit 7da1160002f1 ("drivers: net: cpsw: add am335x errata workarround for
interrutps")
AM33xx Errata [1] Advisory 1.0.9
http://www.ti.com/lit/er/sprz360f/sprz360f.pdf
After additional investigation were found that drivers w/a is
propagated on all AM33xx SoCs and on DM814x. But the errata exists
only for ES1.0 of AM33xx family, limiting mq support for revisions
after ES1.0. So, disable mq support only for related SoCs and use
separate polls for revisions allowing mq.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: cpdma: correct error handling for chan create
commit 8a83c5d7969b8433584e3cf658a8d76c4dc37f4d upstream.
It's not correct to return NULL when that is actually an error and
function returns errors in any other wrong case. In the same time,
the cpsw driver and davinci emac doesn't check error case while
creating channel and it can miss actual error. Also remove WARNs
replacing them on dev_err msgs.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit 8a83c5d7969b8433584e3cf658a8d76c4dc37f4d upstream.
It's not correct to return NULL when that is actually an error and
function returns errors in any other wrong case. In the same time,
the cpsw driver and davinci emac doesn't check error case while
creating channel and it can miss actual error. Also remove WARNs
replacing them on dev_err msgs.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
commit bde4c563a93f643cee9854b0d354710e1ff69284 upstream.
Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)).
drivers/net/ethernet/ti/cpts.c:567:9-16: WARNING: ERR_CAST can be used with cpts->refclk
Generated by: scripts/coccinelle/api/err_cast.cocci
Signed-off-by: Hernán Gonzalez <hernan@vanguardiasur.com.ar>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
commit bde4c563a93f643cee9854b0d354710e1ff69284 upstream.
Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)).
drivers/net/ethernet/ti/cpts.c:567:9-16: WARNING: ERR_CAST can be used with cpts->refclk
Generated by: scripts/coccinelle/api/err_cast.cocci
Signed-off-by: Hernán Gonzalez <hernan@vanguardiasur.com.ar>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded
On v3.10a in dual-role mode, if port is in device mode
and gadget driver isn't loaded, the OTG event interrupts don't
come through.
It seems that if the core is configured to be OTG2.0 only,
then we can't leave the DCFG.DEVSPD at Super-speed (default)
if we expect OTG to work properly. It must be set to High-speed.
Fix this issue by configuring DCFG.DEVSPD to the supported
maximum speed at gadget init. Device tree still needs to provide
correct supported maximum speed for this to work.
This issue wasn't present on v2.40a but is seen on v3.10a.
It doesn't cause any side effects on v2.40a.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
On v3.10a in dual-role mode, if port is in device mode
and gadget driver isn't loaded, the OTG event interrupts don't
come through.
It seems that if the core is configured to be OTG2.0 only,
then we can't leave the DCFG.DEVSPD at Super-speed (default)
if we expect OTG to work properly. It must be set to High-speed.
Fix this issue by configuring DCFG.DEVSPD to the supported
maximum speed at gadget init. Device tree still needs to provide
correct supported maximum speed for this to work.
This issue wasn't present on v2.40a but is seen on v3.10a.
It doesn't cause any side effects on v2.40a.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arm64: dts: k3-am6: Add crypto accelarator node
Add crypto accelarator node. Define the psil specific config
node as well. This can be used in Packet Mode alone.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Add crypto accelarator node. Define the psil specific config
node as well. This can be used in Packet Mode alone.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add 3DES ECB & CBC Mode support
Triple DES (3DES), officially the Triple Data Encryption Algorithm
(TDEA or Triple DEA), is a symmetric-key block cipher, which applies
the DES cipher algorithm three times to each data block
Add 3DES ECB(Electronic code book) & CBC(Cipher Block Chaining)
Mode support.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Triple DES (3DES), officially the Triple Data Encryption Algorithm
(TDEA or Triple DEA), is a symmetric-key block cipher, which applies
the DES cipher algorithm three times to each data block
Add 3DES ECB(Electronic code book) & CBC(Cipher Block Chaining)
Mode support.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add hmac(sha256) HMAC algorithm support
HMAC hash-based message authentication code) is a specific type of
message authentication code (MAC) involving a cryptographic hash
function and a secret cryptographic key. It may be used to
simultaneously verify both the data integrity and the authentication
of a message, as with any MAC. Add hmac(sha256) HMAC algorithm support
and the message digest size is 32 bytes.
Signed-off-by: Keerthy <j-keerthy@ti.com>
HMAC hash-based message authentication code) is a specific type of
message authentication code (MAC) involving a cryptographic hash
function and a secret cryptographic key. It may be used to
simultaneously verify both the data integrity and the authentication
of a message, as with any MAC. Add hmac(sha256) HMAC algorithm support
and the message digest size is 32 bytes.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add hmac(sha1) HMAC algorithm support
HMAC hash-based message authentication code) is a specific type of
message authentication code (MAC) involving a cryptographic hash
function and a secret cryptographic key. It may be used to
simultaneously verify both the data integrity and the authentication
of a message, as with any MAC. Add hmac(sha1) HMAC algorithm support
and the message digest size is 20 bytes.
Signed-off-by: Keerthy <j-keerthy@ti.com>
HMAC hash-based message authentication code) is a specific type of
message authentication code (MAC) involving a cryptographic hash
function and a secret cryptographic key. It may be used to
simultaneously verify both the data integrity and the authentication
of a message, as with any MAC. Add hmac(sha1) HMAC algorithm support
and the message digest size is 20 bytes.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add hmac(sha256)cbc(aes) AEAD Algo support
Add aead support for hmac(sha256)cbc(aes) algorithm. Authenticated
encryption (AE) and authenticated encryption with associated data
(AEAD) is a form of encryption which simultaneously provides
confidentiality, integrity, and authenticity assurances on the data.
hmac(sha256) has a digest size of 32 bytes is used for authetication
and AES in CBC mode is used in conjunction for encryption/decryption.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Add aead support for hmac(sha256)cbc(aes) algorithm. Authenticated
encryption (AE) and authenticated encryption with associated data
(AEAD) is a form of encryption which simultaneously provides
confidentiality, integrity, and authenticity assurances on the data.
hmac(sha256) has a digest size of 32 bytes is used for authetication
and AES in CBC mode is used in conjunction for encryption/decryption.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sha256_generic: Export the Transform function
The transform function can be used as is by other crypto
drivers that need to transform the 256 bit key using cpu.
Hence export it.
Signed-off-by: Keerthy <j-keerthy@ti.com>
The transform function can be used as is by other crypto
drivers that need to transform the 256 bit key using cpu.
Hence export it.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add aead support for hmac(sha1)cbc(aes) algorithm
Add aead support for hmac(sha1)cbc(aes) algorithm. Authenticated
encryption (AE) and authenticated encryption with associated data
(AEAD) is a form of encryption which simultaneously provides
confidentiality, integrity, and authenticity assurances on the data.
hmac(sha1) has a digest size of 20 bytes is used for authetication
and AES in CBC mode is used in conjunction for encryption/decryption.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Add aead support for hmac(sha1)cbc(aes) algorithm. Authenticated
encryption (AE) and authenticated encryption with associated data
(AEAD) is a form of encryption which simultaneously provides
confidentiality, integrity, and authenticity assurances on the data.
hmac(sha1) has a digest size of 20 bytes is used for authetication
and AES in CBC mode is used in conjunction for encryption/decryption.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add AES ECB Mode support
Add support for AES algorithm in ECB Mode. Data encryption modes
are supported via MCE engine (programmable mode control engine).
ECB (Electronic code book) is a mode of operation for a block cipher,
with the characteristic that each possible block of plaintext has a
defined corresponding ciphertext value and vice versa. In other words,
the same plaintext value will always result in the same ciphertext value.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Add support for AES algorithm in ECB Mode. Data encryption modes
are supported via MCE engine (programmable mode control engine).
ECB (Electronic code book) is a mode of operation for a block cipher,
with the characteristic that each possible block of plaintext has a
defined corresponding ciphertext value and vice versa. In other words,
the same plaintext value will always result in the same ciphertext value.
Signed-off-by: Keerthy <j-keerthy@ti.com>
crypto: sa2ul: Add crypto driver
The Security Accelerator (SA2_UL) subsystem provides hardware
cryptographic acceleration for the following use cases:
• Encryption and authentication for secure boot
• Encryption and authentication of content in applications
requiring DRM (digital rights management) and
content/asset protection
The device includes one instantiation of SA2_UL named SA2_UL0
SA2_UL supports the following cryptographic industry standards to enable data authentication, data
integrity and data confidentiality.
Crypto function library for software acceleration
o AES operation
o 3DES operation
o SHA1 operation
o MD5 operation
o SHA2 – 224, 256, 384, 512 operation
Authentication supported via following hardware cores
o SHA1
o MD5
o SHA2 -224
o SHA2-256
o SHA2-384
o SHA2-512
Patch adds a basic crypto driver and currently supports AES
in cbc mode for both encryption and decryption.
Signed-off-by: Keerthy <j-keerthy@ti.com>
The Security Accelerator (SA2_UL) subsystem provides hardware
cryptographic acceleration for the following use cases:
• Encryption and authentication for secure boot
• Encryption and authentication of content in applications
requiring DRM (digital rights management) and
content/asset protection
The device includes one instantiation of SA2_UL named SA2_UL0
SA2_UL supports the following cryptographic industry standards to enable data authentication, data
integrity and data confidentiality.
Crypto function library for software acceleration
o AES operation
o 3DES operation
o SHA1 operation
o MD5 operation
o SHA2 – 224, 256, 384, 512 operation
Authentication supported via following hardware cores
o SHA1
o MD5
o SHA2 -224
o SHA2-256
o SHA2-384
o SHA2-512
Patch adds a basic crypto driver and currently supports AES
in cbc mode for both encryption and decryption.
Signed-off-by: Keerthy <j-keerthy@ti.com>
dt-bindings: crypto: k3: Add sa2ul bindings documentation
The series adds Crypto hardware accelerator support for SA2UL.
SA2UL stands for security accelerator ultra lite.
The Security Accelerator (SA2_UL) subsystem provides hardware
cryptographic acceleration for the following use cases:
• Encryption and authentication for secure boot
• Encryption and authentication of content in applications
requiring DRM (digital rights management) and
content/asset protection
The device includes one instantiation of SA2_UL named SA2_UL0
SA2UL needs on tx channel and a pair of rx dma channels.
Signed-off-by: Keerthy <j-keerthy@ti.com>
The series adds Crypto hardware accelerator support for SA2UL.
SA2UL stands for security accelerator ultra lite.
The Security Accelerator (SA2_UL) subsystem provides hardware
cryptographic acceleration for the following use cases:
• Encryption and authentication for secure boot
• Encryption and authentication of content in applications
requiring DRM (digital rights management) and
content/asset protection
The device includes one instantiation of SA2_UL named SA2_UL0
SA2UL needs on tx channel and a pair of rx dma channels.
Signed-off-by: Keerthy <j-keerthy@ti.com>
firmware: ti_sci: Add doc for rm helper apis
Update the doc for resource management helper apis. Also
change the variable max to num in structure ti_sci_resource_desc.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Update the doc for resource management helper apis. Also
change the variable max to num in structure ti_sci_resource_desc.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
Add the DT binding documentation for Interrupt Aggregator driver.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Add the DT binding documentation for Interrupt Aggregator driver.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
irqchip: ti-sci-inta: Update docs and misc fixes
Update the doc for each structure and function within the driver.
Also drop a redundant variable from ti_sci_inta_irq_desc structure.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Update the doc for each structure and function within the driver.
Also drop a redundant variable from ti_sci_inta_irq_desc structure.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
irqchip: ti-sci-inta: Allow GIC to be a interrupt parent
Currently the driver always assumes that its interrupt
parent is Interrupt Router. Even though this is true
for AM65x, by design it is not mandatory to have IR as parent.
So add support for having GIC as a parent.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Currently the driver always assumes that its interrupt
parent is Interrupt Router. Even though this is true
for AM65x, by design it is not mandatory to have IR as parent.
So add support for having GIC as a parent.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
Add the DT binding documentation for Interrupt router driver.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Add the DT binding documentation for Interrupt router driver.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
irqchip: ti-sci-intr: Update doc and error handling
Update the doc for each structure and function within the driver.
Also drop a redundant variable from ti_sci_intr_irq_desc structure.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Update the doc for each structure and function within the driver.
Also drop a redundant variable from ti_sci_intr_irq_desc structure.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
arm64: dts: k3-am6: Remove unused dma-channels property from udma nodes
It is not longer used by the driver and it is optional from DMAengine point
of view.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
It is not longer used by the driver and it is optional from DMAengine point
of view.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: New function for resource tracking initialization
Move the tchan, rchan and rflow resource management allocation to a
separate function to simplify the move to static resource management.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Move the tchan, rchan and rflow resource management allocation to a
separate function to simplify the move to static resource management.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Ignore the dma-channels property from DT
Set up the number of channels based on what we have queried from the
capabilities register instead of a number from the DT, which if it would
not match with the values from the CAP2/3 we discarded anyway.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Set up the number of channels based on what we have queried from the
capabilities register instead of a number from the DT, which if it would
not match with the values from the CAP2/3 we discarded anyway.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Move tisci lookup early in probe
The driver will not function without tisci. Skip any setup in probe if the
tisci is not yet available.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
The driver will not function without tisci. Skip any setup in probe if the
tisci is not yet available.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Tidy up the probe function by *dev = &pdev->dev
With the change some wrapped lines can be nuked.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
With the change some wrapped lines can be nuked.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Fix missing tdcm caused kernel oops
It was assumed that the tdcm will always going to be received as per the
documentation, but under unknown circumstances this is not the case.
We receive back the terminated descriptor, but the expected tdcm is not
coming as the teardown fails to complete.
In this case the cleanup code would try to free up the terminated
descriptor again, which will trigger kernel oops.
To handle this, check if the current descriptor to be freed is the
terminated one and reset the terminated_desc pointer to NULL.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
It was assumed that the tdcm will always going to be received as per the
documentation, but under unknown circumstances this is not the case.
We receive back the terminated descriptor, but the expected tdcm is not
coming as the teardown fails to complete.
In this case the cleanup code would try to free up the terminated
descriptor again, which will trigger kernel oops.
To handle this, check if the current descriptor to be freed is the
terminated one and reset the terminated_desc pointer to NULL.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Try to hard reset the channel on teardown timeout
Teardown failure hints to bigger issues on the channel. Try to hard reset
the channel (PSI-L level toggle of Enable bit) in order to recover it for
consequent use.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Teardown failure hints to bigger issues on the channel. Try to hard reset
the channel (PSI-L level toggle of Enable bit) in order to recover it for
consequent use.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Dump the channel state data when teardown fails
The channel state data might provide hints for debugging the reason for the
failure.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
The channel state data might provide hints for debugging the reason for the
failure.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Support for changed staticTR without termination
If two consequent transfer's staticTR configuration is different then the
channel needs to be reset before we can proceed.
RX channels working with PDMA always need to be reset between transfers.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
If two consequent transfer's staticTR configuration is different then the
channel needs to be reset before we can proceed.
RX channels working with PDMA always need to be reset between transfers.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Fix early TX packet completion
When the packet is returned by UDMA as completed we must check the byte
counters on the UDMA and PEER side in case of TX as remote might not
finished sending the data.
The can happen with peripherals serviced by PDMA.
Reported-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
When the packet is returned by UDMA as completed we must check the byte
counters on the UDMA and PEER side in case of TX as remote might not
finished sending the data.
The can happen with peripherals serviced by PDMA.
Reported-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Introduce channel states
Instead of playing with flags use simple states for the channel:
UDMA_CHAN_IS_IDLE - Disabled
UDMA_CHAN_IS_ACTIVE - Normal operation
UDMA_CHAN_IS_TERMINATING - Channel is being terminated (teardown)
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Instead of playing with flags use simple states for the channel:
UDMA_CHAN_IS_IDLE - Disabled
UDMA_CHAN_IS_ACTIVE - Normal operation
UDMA_CHAN_IS_TERMINATING - Channel is being terminated (teardown)
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Reset counters as part of channel reset
The counters need to be reset after the channel has been cleared so move
the counter reset call inside of the channel reset function.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
The counters need to be reset after the channel has been cleared so move
the counter reset call inside of the channel reset function.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Set WAIT flag for type15 TR for memcpy
The WAIT flag in TR makes sure that only one TR is fetched at any given
time for the channel, making sure that no race can happen in HW.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
The WAIT flag in TR makes sure that only one TR is fetched at any given
time for the channel, making sure that no race can happen in HW.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Disable TR events for salve_sg and memcpy
We rely on the packet events in these cases and must have TR events
disabled.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
We rely on the packet events in these cases and must have TR events
disabled.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Correct the interrupt name string
With kasprintf() the '\n' must be omitted.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
With kasprintf() the '\n' must be omitted.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
dmaengine: ti: k3-udma: Exclude rchan1 as it is reserved for sysfw use
Based on the latest information rchan1 needs to be added to the list of
masked resources. rchan1 implies that it's default flow must be locked as
well.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Based on the latest information rchan1 needs to be added to the list of
masked resources. rchan1 implies that it's default flow must be locked as
well.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
soc: ti: k3: ringacc: fix releasing of shared rings
Reset rings flags fields to avoid incorrect behaviour when the same ring is
requested again after being released.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reset rings flags fields to avoid incorrect behaviour when the same ring is
requested again after being released.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
ti_config_fragments: connectivity.cfg: Enable McSPI
Enable McSPI driver for AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Enable McSPI driver for AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arm64: dts: k3-am654: Enable main domain McSPI0
Enable McSPI0 of main domain and add DT node for the SPI NOR flash
connected to CS0.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Enable McSPI0 of main domain and add DT node for the SPI NOR flash
connected to CS0.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arm64: dts: k3-am6: Add McSPI DT nodes
Add DT nodes for McSPI instances present on AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Add DT nodes for McSPI instances present on AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
spi: Kconfig; Enable McSPI driver for K3 platforms
Enable McSPI driver to be built for K3 platforms, to support McSPI on
AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Enable McSPI driver to be built for K3 platforms, to support McSPI on
AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
spi: spi-omap2-mcspi: Fix can_dma() callback
can_dma() callback expects driver to return false whenever driver is
unable to do DMA, so as to avoid mapping tx/rx buffers for DMA.
Therefore return false whenever DMA TX and RX channels are unavailable
and driver is using PIO mode.
Otherwise, CPU would end up accessing buffers mapped for DMA and cause
data corruption in PIO mode.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
can_dma() callback expects driver to return false whenever driver is
unable to do DMA, so as to avoid mapping tx/rx buffers for DMA.
Therefore return false whenever DMA TX and RX channels are unavailable
and driver is using PIO mode.
Otherwise, CPU would end up accessing buffers mapped for DMA and cause
data corruption in PIO mode.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
dt-bindings: spi: omap-spi: Add compatible for AM654 SoC
AM654 SoC has same McSPI IP as OMAP2+ platforms. Add new compatible to
support McSPI on AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
AM654 SoC has same McSPI IP as OMAP2+ platforms. Add new compatible to
support McSPI on AM654 SoC.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
HACK: net: ethernet: ti: cpsw: fix broadcast/multicast rate limit enabling
Now both broadcast and multicast rate limit will be enabled always if any
of them is requested to be enabled. Fix it by checking requested rate
limits values and enable only if not zero.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Now both broadcast and multicast rate limit will be enabled always if any
of them is requested to be enabled. Fix it by checking requested rate
limits values and enable only if not zero.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
HACK: net: ethernet: ti: am65-cpsw-nuss: add broadcast/multicast rate limit support
Add broadcast/multicast rate limit support via switch config ioctl to
limit the number of broadcast/multicast packets processed by ALE.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Add broadcast/multicast rate limit support via switch config ioctl to
limit the number of broadcast/multicast packets processed by ALE.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
net: ethernet: ti: am65-cpsw-nuss: fix copy-paste err in am65_cpsw_get_channels
Fix copy-paste err in am65_cpsw_get_channels.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Fix copy-paste err in am65_cpsw_get_channels.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoMerge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into... ti-rt-linux-4.14.y-next-20180831 ti-rt-linux-4.14.y-next-20180901 ti-rt-linux-4.14.y-next-20180902 ti-rt-linux-4.14.y-next-20180903 ti-rt-linux-4.14.y-next-20180904 ti-rt-linux-4.14.y-next-20180905
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
ti_config_fragments/v8_defconfig_map.txt: Include android config fragment
ti_config_fragments/v8_defconfig_map.txt: add Android configuration
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
ti_config_fragments/v8_defconfig_map.txt: Include android config fragment
ti_config_fragments/v8_defconfig_map.txt: add Android configuration
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
mmc: sdhci-of-arasan: Fix error handling in sdhci_arasan_suspend()
mmc: sdhci-of-arasan: Fix error handling in _probe() and _remove()
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
mmc: sdhci-of-arasan: Fix error handling in sdhci_arasan_suspend()
mmc: sdhci-of-arasan: Fix error handling in _probe() and _remove()
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'integration-ti-linux-4.14.y' of git://git.ti.com/ti-linux-kernel/kernel-integration-tree into ti-linux-4.14.y
TI-Feature: integration
TI-Tree: git://git.ti.com/ti-linux-kernel/kernel-integration-tree.git
TI-Branch: integration-ti-linux-4.14.y
* 'integration-ti-linux-4.14.y' of git://git.ti.com/ti-linux-kernel/kernel-integration-tree:
ti_config_fragments/v8_defconfig_map.txt: Include android config fragment
ti_config_fragments/v8_defconfig_map.txt: add Android configuration
Signed-off-by: Dan Murphy <dmurphy@ti.com>
TI-Feature: integration
TI-Tree: git://git.ti.com/ti-linux-kernel/kernel-integration-tree.git
TI-Branch: integration-ti-linux-4.14.y
* 'integration-ti-linux-4.14.y' of git://git.ti.com/ti-linux-kernel/kernel-integration-tree:
ti_config_fragments/v8_defconfig_map.txt: Include android config fragment
ti_config_fragments/v8_defconfig_map.txt: add Android configuration
Signed-off-by: Dan Murphy <dmurphy@ti.com>
ti_config_fragments/v8_defconfig_map.txt: Include android config fragment
Update Android Release and Debug configs to include v8_android.cfg
This patch is to append v8_android.cfg to v8_defconfig_map for generating
Android SDK Release and Debug defconfigs for K3 devices.
v8_android.cfg contains additional configs needed to be enabled or
overridden to make TI android SDKs for K3 devices.
v8_android.cfg will be part of 'ti-android-linux-<lts>' integration
branch
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Update Android Release and Debug configs to include v8_android.cfg
This patch is to append v8_android.cfg to v8_defconfig_map for generating
Android SDK Release and Debug defconfigs for K3 devices.
v8_android.cfg contains additional configs needed to be enabled or
overridden to make TI android SDKs for K3 devices.
v8_android.cfg will be part of 'ti-android-linux-<lts>' integration
branch
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
ti_config_fragments/v8_defconfig_map.txt: add Android configuration
Add Android Kernel configuartions for arm64 platforms
Include
android-base-arm64.config, android-base.config and
android-recommended.config from
https://android.googlesource.com/kernel/configs/
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Add Android Kernel configuartions for arm64 platforms
Include
android-base-arm64.config, android-base.config and
android-recommended.config from
https://android.googlesource.com/kernel/configs/
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Merge branch 'connectivity-ti-linux-4.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.14.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.14.y
* 'connectivity-ti-linux-4.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
mmc: sdhci-of-arasan: Fix error handling in sdhci_arasan_suspend()
mmc: sdhci-of-arasan: Fix error handling in _probe() and _remove()
Signed-off-by: Dan Murphy <dmurphy@ti.com>
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.14.y
* 'connectivity-ti-linux-4.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
mmc: sdhci-of-arasan: Fix error handling in sdhci_arasan_suspend()
mmc: sdhci-of-arasan: Fix error handling in _probe() and _remove()
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
ti_config_fragments: v8_baseport: enable CONFIG_PM
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
ti_config_fragments: v8_baseport: enable CONFIG_PM
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.14.y
TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.14.y
* 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
ti_config_fragments: v8_baseport: enable CONFIG_PM
Signed-off-by: Dan Murphy <dmurphy@ti.com>
TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.14.y
* 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
ti_config_fragments: v8_baseport: enable CONFIG_PM
Signed-off-by: Dan Murphy <dmurphy@ti.com>
mmc: sdhci-of-arasan: Fix error handling in sdhci_arasan_suspend()
If a suspend fails, restore the sdhci context by calling
sdhci_resume_host() in sdhci_arasan_suspend(). Also remove the
unnecessary call to sdhci_resume_host() from runtime_suspend().
This fixes an "implicit declaration" error when CONFIG_PM
is switched off.
Fixes: c376675fc844 ("mmc: sdhci-of-arasan: Add support for
runtime PM")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
If a suspend fails, restore the sdhci context by calling
sdhci_resume_host() in sdhci_arasan_suspend(). Also remove the
unnecessary call to sdhci_resume_host() from runtime_suspend().
This fixes an "implicit declaration" error when CONFIG_PM
is switched off.
Fixes: c376675fc844 ("mmc: sdhci-of-arasan: Add support for
runtime PM")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
mmc: sdhci-of-arasan: Fix error handling in _probe() and _remove()
Instead of splitting clock_prepare()/_unprepare() and
clock_enable()/_disable() calls across runtime and probe, do all clock
enables in runtime_resume(). This enables in simplifying _probe() and
fix error handling.
Fixes: c376675fc844 ("Add support for runtime PM")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Instead of splitting clock_prepare()/_unprepare() and
clock_enable()/_disable() calls across runtime and probe, do all clock
enables in runtime_resume(). This enables in simplifying _probe() and
fix error handling.
Fixes: c376675fc844 ("Add support for runtime PM")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
ti_config_fragments: v8_baseport: enable CONFIG_PM
On RT CONFIG SUSPEND=n which implicitly disables CONFIG_PM. As result, RT
Linux can't boot any more because of disabled PM runtime.
Enable CONFIG_PM explicitly as it's responsible for enabling PM runtime (PM
domains) which are required for AM65x boot.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
On RT CONFIG SUSPEND=n which implicitly disables CONFIG_PM. As result, RT
Linux can't boot any more because of disabled PM runtime.
Enable CONFIG_PM explicitly as it's responsible for enabling PM runtime (PM
domains) which are required for AM65x boot.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Merge branch 'peter/ti-linux-4.14.y/topic/audio' of https://github.com/omap-audio/linux-audio into audio-display-ti-linux-4.14.y
am654: audio support via GP application board
* 'peter/ti-linux-4.14.y/topic/audio' of https://github.com/omap-audio/linux-audio:
ti_config_fragments: audio_display: Enable UDMA platform driver for ASoC
arm64: dts: ti: Add overlay for AM65x GP application board
ASoC: davinci-mcasp: Add support for platforms using UDMA
ASoC: ti: Add UDMA platform driver
ASoC: ti: New directory for Texas Instruments SoCs
am654: audio support via GP application board
* 'peter/ti-linux-4.14.y/topic/audio' of https://github.com/omap-audio/linux-audio:
ti_config_fragments: audio_display: Enable UDMA platform driver for ASoC
arm64: dts: ti: Add overlay for AM65x GP application board
ASoC: davinci-mcasp: Add support for platforms using UDMA
ASoC: ti: Add UDMA platform driver
ASoC: ti: New directory for Texas Instruments SoCs
ti_config_fragments: audio_display: Enable UDMA platform driver for ASoC
It is needed on am65x-evm for audio support.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
It is needed on am65x-evm for audio support.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
arm64: dts: ti: Add overlay for AM65x GP application board
The GP application board have:
ICSSG I2C0..3 connected to I2C EEPROMs
ICSSG UART0..3 headers with level shifters
ICSSG SPI0..3 connected to SPI Flash
McASP0 conencted to tlv320aic3106 codec with Headset out and Line in jack
This patch adds support for the audio on the GP application board.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
The GP application board have:
ICSSG I2C0..3 connected to I2C EEPROMs
ICSSG UART0..3 headers with level shifters
ICSSG SPI0..3 connected to SPI Flash
McASP0 conencted to tlv320aic3106 codec with Headset out and Line in jack
This patch adds support for the audio on the GP application board.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
ASoC: davinci-mcasp: Add support for platforms using UDMA
AM65x is using UDMA as system DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
AM65x is using UDMA as system DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
ASoC: ti: Add UDMA platform driver
Platform driver glue for AM65x using UDMA to use dmaengine PCM.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Platform driver glue for AM65x using UDMA to use dmaengine PCM.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
ASoC: ti: New directory for Texas Instruments SoCs
It is no longer black and white if the given CPU DAI belongs to daVinci or
OMAP and the same goes for platform drivers.
With the K3 architecture this is going to be even more in the not true
category.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
It is no longer black and white if the given CPU DAI belongs to daVinci or
OMAP and the same goes for platform drivers.
With the K3 architecture this is going to be even more in the not true
category.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agoMerge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into... ti-rt-linux-4.14.y-next-20180827
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
remoteproc/k3-r5: add loading support for on-chip SRAM regions
arm64: boot: dts: ti: k3-am6: Add aliases for rproc nodes
arm64: dts: ti: k3-am654-evm: Add DDR carveout memory nodes for R5Fs
arm64: dts: ti: k3-am6: Add MCU R5 cluster node
ti_config_fragments: v8_rpmsg: Enable rpmsg-proto module
ti_config_fragments: v8_rpmsg: Enable K3 R5F remoteproc support
HACK: remoteproc: silence devmem error for rprocs with no MMU
remoteproc/k3-r5: add a remoteproc driver for MCU (dual-R5F) subsystem
dt-bindings: remoteproc: Add bindings for MCU R5 clusters on TI K3 SoCs
remoteproc/k3-r5: add TI-SCI processor control helper functions
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
remoteproc/k3-r5: add loading support for on-chip SRAM regions
arm64: boot: dts: ti: k3-am6: Add aliases for rproc nodes
arm64: dts: ti: k3-am654-evm: Add DDR carveout memory nodes for R5Fs
arm64: dts: ti: k3-am6: Add MCU R5 cluster node
ti_config_fragments: v8_rpmsg: Enable rpmsg-proto module
ti_config_fragments: v8_rpmsg: Enable K3 R5F remoteproc support
HACK: remoteproc: silence devmem error for rprocs with no MMU
remoteproc/k3-r5: add a remoteproc driver for MCU (dual-R5F) subsystem
dt-bindings: remoteproc: Add bindings for MCU R5 clusters on TI K3 SoCs
remoteproc/k3-r5: add TI-SCI processor control helper functions
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge branch 'rpmsg-ti-linux-4.14.y-intg' of git://git.ti.com/rpmsg/rpmsg into ti-linux-4.14.y
TI-Feature: rpmsg
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-4.14.y-intg
* 'rpmsg-ti-linux-4.14.y-intg' of git://git.ti.com/rpmsg/rpmsg:
remoteproc/k3-r5: add loading support for on-chip SRAM regions
arm64: boot: dts: ti: k3-am6: Add aliases for rproc nodes
arm64: dts: ti: k3-am654-evm: Add DDR carveout memory nodes for R5Fs
arm64: dts: ti: k3-am6: Add MCU R5 cluster node
ti_config_fragments: v8_rpmsg: Enable rpmsg-proto module
ti_config_fragments: v8_rpmsg: Enable K3 R5F remoteproc support
HACK: remoteproc: silence devmem error for rprocs with no MMU
remoteproc/k3-r5: add a remoteproc driver for MCU (dual-R5F) subsystem
dt-bindings: remoteproc: Add bindings for MCU R5 clusters on TI K3 SoCs
remoteproc/k3-r5: add TI-SCI processor control helper functions
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: rpmsg
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-4.14.y-intg
* 'rpmsg-ti-linux-4.14.y-intg' of git://git.ti.com/rpmsg/rpmsg:
remoteproc/k3-r5: add loading support for on-chip SRAM regions
arm64: boot: dts: ti: k3-am6: Add aliases for rproc nodes
arm64: dts: ti: k3-am654-evm: Add DDR carveout memory nodes for R5Fs
arm64: dts: ti: k3-am6: Add MCU R5 cluster node
ti_config_fragments: v8_rpmsg: Enable rpmsg-proto module
ti_config_fragments: v8_rpmsg: Enable K3 R5F remoteproc support
HACK: remoteproc: silence devmem error for rprocs with no MMU
remoteproc/k3-r5: add a remoteproc driver for MCU (dual-R5F) subsystem
dt-bindings: remoteproc: Add bindings for MCU R5 clusters on TI K3 SoCs
remoteproc/k3-r5: add TI-SCI processor control helper functions
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
remoteproc/k3-r5: add loading support for on-chip SRAM regions
The K3 AM65x SoCs has various internal on-chip SRAM memories like
the SRAM within the MCU domain or the shared MSMC RAM within NavSS
that can be used for multiple purposes. One such purpose is to have
the MCU R5F cores to use a portion of such on-chip SRAM for fast-access
data or to directly execute code.
Add support to the K3 R5 remoteproc driver to parse and support
loading into such memories. The binding document has also been updated.
These SRAM regions are completely optional as not all firmware images
require these memories, and any such memory has to reserved as such in
the DTS files.
Signed-off-by: Suman Anna <s-anna@ti.com>
The K3 AM65x SoCs has various internal on-chip SRAM memories like
the SRAM within the MCU domain or the shared MSMC RAM within NavSS
that can be used for multiple purposes. One such purpose is to have
the MCU R5F cores to use a portion of such on-chip SRAM for fast-access
data or to directly execute code.
Add support to the K3 R5 remoteproc driver to parse and support
loading into such memories. The binding document has also been updated.
These SRAM regions are completely optional as not all firmware images
require these memories, and any such memory has to reserved as such in
the DTS files.
Signed-off-by: Suman Anna <s-anna@ti.com>
arm64: boot: dts: ti: k3-am6: Add aliases for rproc nodes
Add aliases for both the R5F remoteproc processor cores present
within the MCU domain and common to all K3 AM6x boards. The aliases
uses the stem "rproc". Note that the R5F1 core and it's alias is
uniquely identified and used only if the MCU is running in Split
(non-LockStep) mode.
The aliases can be overridden, if needed, in the respective
derivative board dts files.
Signed-off-by: Suman Anna <s-anna@ti.com>
Add aliases for both the R5F remoteproc processor cores present
within the MCU domain and common to all K3 AM6x boards. The aliases
uses the stem "rproc". Note that the R5F1 core and it's alias is
uniquely identified and used only if the MCU is running in Split
(non-LockStep) mode.
The aliases can be overridden, if needed, in the respective
derivative board dts files.
Signed-off-by: Suman Anna <s-anna@ti.com>
arm64: dts: ti: k3-am654-evm: Add DDR carveout memory nodes for R5Fs
Two carveout reserved memory nodes have been added for each of the MCU
R5F remote processor devices on all the K3 AM65x boards. These nodes are
assigned to the respective rproc device nodes as well.
The current carveout addresses and sizes are defined statically for each
device. The R5F processors do not have an MMU, and as such require the
exact memory used by the firmwares to be set-aside. Note that the R5F1
carveout is needed only if the MCU is running in Split (non-LockStep)
mode.
The reserved memory node can be disabled later on if there is no
use-case defined to use the corresponding remote processor.
Signed-off-by: Suman Anna <s-anna@ti.com>
Two carveout reserved memory nodes have been added for each of the MCU
R5F remote processor devices on all the K3 AM65x boards. These nodes are
assigned to the respective rproc device nodes as well.
The current carveout addresses and sizes are defined statically for each
device. The R5F processors do not have an MMU, and as such require the
exact memory used by the firmwares to be set-aside. Note that the R5F1
carveout is needed only if the MCU is running in Split (non-LockStep)
mode.
The reserved memory node can be disabled later on if there is no
use-case defined to use the corresponding remote processor.
Signed-off-by: Suman Anna <s-anna@ti.com>
arm64: dts: ti: k3-am6: Add MCU R5 cluster node
The AM65x SoCs have a single Microcontroller Unit (MCU) subsystem that
is comprised of dual-core Arm Cortex-R5F processor cores. This MCU R5
cluster is present within the MCU domain, and can be configured at boot
time to be either run in a LockStep mode or in an Asymmetric Multi
Processing (AMP) fashion in Split-mode. This subsystem has 64 KB each
Tightly-Coupled Memory (TCM) internal memories for each core split
between two banks - TCMA and TCMB (further interleaved into two banks).
There are some IP integration differences such as the absence of an
ACP port, a Region Address Translater (RAT) module for translating
32-bit CPU addresses into larger system bus addresses etc.
Add the DT node for this MCU cluster/subsystem, the two R5 cores are
added as child nodes to the main cluster node. The cluster is configured
to run in LockStep mode by default, with the ATCMs enabled to allow the
R5 cores to execute code from DDR with boot-strapping code from ATCM.
The inter-processor communication between the main A53 cores and these
processors is achieved through shared memory and Mailboxes.
Signed-off-by: Suman Anna <s-anna@ti.com>
The AM65x SoCs have a single Microcontroller Unit (MCU) subsystem that
is comprised of dual-core Arm Cortex-R5F processor cores. This MCU R5
cluster is present within the MCU domain, and can be configured at boot
time to be either run in a LockStep mode or in an Asymmetric Multi
Processing (AMP) fashion in Split-mode. This subsystem has 64 KB each
Tightly-Coupled Memory (TCM) internal memories for each core split
between two banks - TCMA and TCMB (further interleaved into two banks).
There are some IP integration differences such as the absence of an
ACP port, a Region Address Translater (RAT) module for translating
32-bit CPU addresses into larger system bus addresses etc.
Add the DT node for this MCU cluster/subsystem, the two R5 cores are
added as child nodes to the main cluster node. The cluster is configured
to run in LockStep mode by default, with the ATCMs enabled to allow the
R5 cores to execute code from DDR with boot-strapping code from ATCM.
The inter-processor communication between the main A53 cores and these
processors is achieved through shared memory and Mailboxes.
Signed-off-by: Suman Anna <s-anna@ti.com>
ti_config_fragments: v8_rpmsg: Enable rpmsg-proto module
Add support to build the rpmsg sockets driver "rpmsg-proto"
explicitly for K3 AM65x platforms. This enables the TI MessageQ
IPC stack to be used with the MCU R5F remote processors on
AM65x SoCs.
Signed-off-by: Suman Anna <s-anna@ti.com>
Add support to build the rpmsg sockets driver "rpmsg-proto"
explicitly for K3 AM65x platforms. This enables the TI MessageQ
IPC stack to be used with the MCU R5F remote processors on
AM65x SoCs.
Signed-off-by: Suman Anna <s-anna@ti.com>
ti_config_fragments: v8_rpmsg: Enable K3 R5F remoteproc support
Add support to build the K3 R5F remoteproc driver to enable the MCUSS
R5F Cluster present on AM65x SoCs. The other required remoteproc core,
OMAP Mailbox, virtio/rpmsg modules were already enabled. These are the
minimum required modules for enabling remoteproc and rpmsg communication
with the MCU R5F remote processors on various K3 family of SoCs.
Signed-off-by: Suman Anna <s-anna@ti.com>
Add support to build the K3 R5F remoteproc driver to enable the MCUSS
R5F Cluster present on AM65x SoCs. The other required remoteproc core,
OMAP Mailbox, virtio/rpmsg modules were already enabled. These are the
minimum required modules for enabling remoteproc and rpmsg communication
with the MCU R5F remote processors on various K3 family of SoCs.
Signed-off-by: Suman Anna <s-anna@ti.com>
HACK: remoteproc: silence devmem error for rprocs with no MMU
The R5F remote processors on K3 AM65x SoCs do not have an MMU, but
the current firmware images still use a TYPE_DEVMEM entry for the
initial 1 MB of the device carveout pool (akin to the usage on the
DRA7xx/AM57xx SoCs). This entry is currently exercised by the firmware
code to perform some address translations, but the current error
check fails to load such firmwares. Silence the error for the
time being to successfully load such firmwares.
Signed-off-by: Suman Anna <s-anna@ti.com>
The R5F remote processors on K3 AM65x SoCs do not have an MMU, but
the current firmware images still use a TYPE_DEVMEM entry for the
initial 1 MB of the device carveout pool (akin to the usage on the
DRA7xx/AM57xx SoCs). This entry is currently exercised by the firmware
code to perform some address translations, but the current error
check fails to load such firmwares. Silence the error for the
time being to successfully load such firmwares.
Signed-off-by: Suman Anna <s-anna@ti.com>
remoteproc/k3-r5: add a remoteproc driver for MCU (dual-R5F) subsystem
The AM65x SoCs have a single Microcontroller Unit (MCU) subsystem that
is comprised of dual-core Arm Cortex-R5F processor cores. This MCU R5
cluster is present within the MCU domain, and can be configured at boot
time to be either run in a LockStep mode or in an Asymmetric Multi
Processing (AMP) fashion in Split-mode. This subsystem has 64 KB each
Tightly-Coupled Memory (TCM) internal memories for each core split
between two banks - TCMA and TCMB (further interleaved into two banks).
The subsystem does not have an MMU, but a Region Address Translater
(RAT) module that is accessible only from the R5s for providing
translations between 32-bit CPU addresses into larger system bus
addresses.
Add a remoteproc driver to support this subsystem to be able to load
and boot the R5 cores primarily in LockStep mode. Error Recovery and
Power Management features are not currently supported. Loading support
includes the internal TCMs and DDR. The code includes preliminary
support for Split mode, with the full features/functionality to be
added in a future patch. The subsystem is represented as a single
remoteproc in LockStep mode, and as two remoteprocs in Split mode. The
driver uses various TI-SCI interfaces to talk to the System Controller
(DMSC) for managing configuration, power and reset management of these
cores. IPC between the A53 cores and the R5 cores is supported through
the virtio rpmsg stack using shared memory and OMAP Mailboxes.
The driver expects the following firmware names to be used for these
cores:
am65x-mcu-r5f0-fw (LockStep mode and for Core0 in Split mode)
am65x-mcu-r5f1-fw (Core1 in Split mode)
Signed-off-by: Suman Anna <s-anna@ti.com>
The AM65x SoCs have a single Microcontroller Unit (MCU) subsystem that
is comprised of dual-core Arm Cortex-R5F processor cores. This MCU R5
cluster is present within the MCU domain, and can be configured at boot
time to be either run in a LockStep mode or in an Asymmetric Multi
Processing (AMP) fashion in Split-mode. This subsystem has 64 KB each
Tightly-Coupled Memory (TCM) internal memories for each core split
between two banks - TCMA and TCMB (further interleaved into two banks).
The subsystem does not have an MMU, but a Region Address Translater
(RAT) module that is accessible only from the R5s for providing
translations between 32-bit CPU addresses into larger system bus
addresses.
Add a remoteproc driver to support this subsystem to be able to load
and boot the R5 cores primarily in LockStep mode. Error Recovery and
Power Management features are not currently supported. Loading support
includes the internal TCMs and DDR. The code includes preliminary
support for Split mode, with the full features/functionality to be
added in a future patch. The subsystem is represented as a single
remoteproc in LockStep mode, and as two remoteprocs in Split mode. The
driver uses various TI-SCI interfaces to talk to the System Controller
(DMSC) for managing configuration, power and reset management of these
cores. IPC between the A53 cores and the R5 cores is supported through
the virtio rpmsg stack using shared memory and OMAP Mailboxes.
The driver expects the following firmware names to be used for these
cores:
am65x-mcu-r5f0-fw (LockStep mode and for Core0 in Split mode)
am65x-mcu-r5f1-fw (Core1 in Split mode)
Signed-off-by: Suman Anna <s-anna@ti.com>
Merge branch 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.14.y
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (220 commits)
Linux 4.14.67
reiserfs: fix broken xattr handling (heap corruption, bad retval)
i2c: imx: Fix race condition in dma read
i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
PCI: pciehp: Fix unprotected list iteration in IRQ handler
PCI: pciehp: Fix use-after-free on unplug
PCI: Skip MPS logic for Virtual Functions (VFs)
PCI: hotplug: Don't leak pci_slot on registration failure
parisc: Remove unnecessary barriers from spinlock.h
net/smc: no shutdown in state SMC_LISTEN
packet: refine ring v3 block size test to hold one frame
netfilter: conntrack: dccp: treat SYNC/SYNCACK as invalid if no prior state
xfrm_user: prevent leaking 2 bytes of kernel memory
parisc: Remove ordered stores from syscall.S
f2fs: sanity check for total valid node blocks
f2fs: return error during fill_super
KVM: irqfd: fix race between EPOLLHUP and irq_bypass_register_consumer
nvme: fix handling of metadata_len for NVME_IOCTL_IO_CMD
ARM: dts: imx6: RDU2: fix irq type for mv88e6xxx switch
ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.14.y
* 'ti-linux-4.14.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (220 commits)
Linux 4.14.67
reiserfs: fix broken xattr handling (heap corruption, bad retval)
i2c: imx: Fix race condition in dma read
i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
PCI: pciehp: Fix unprotected list iteration in IRQ handler
PCI: pciehp: Fix use-after-free on unplug
PCI: Skip MPS logic for Virtual Functions (VFs)
PCI: hotplug: Don't leak pci_slot on registration failure
parisc: Remove unnecessary barriers from spinlock.h
net/smc: no shutdown in state SMC_LISTEN
packet: refine ring v3 block size test to hold one frame
netfilter: conntrack: dccp: treat SYNC/SYNCACK as invalid if no prior state
xfrm_user: prevent leaking 2 bytes of kernel memory
parisc: Remove ordered stores from syscall.S
f2fs: sanity check for total valid node blocks
f2fs: return error during fill_super
KVM: irqfd: fix race between EPOLLHUP and irq_bypass_register_consumer
nvme: fix handling of metadata_len for NVME_IOCTL_IO_CMD
ARM: dts: imx6: RDU2: fix irq type for mv88e6xxx switch
ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
dt-bindings: remoteproc: Add bindings for MCU R5 clusters on TI K3 SoCs
The Texas Instruments K3 family of SoCs have one of more Microcontroller
Unit (MCU) subsystems that are comprised of dual-core Arm Cortex-R5F
processor cores. Add the device tree bindings document for these MCU
cluster devices. The added example illustrates the DT nodes for the
single MCU cluster device present on K3 AM65x family of SoCs.
Signed-off-by: Suman Anna <s-anna@ti.com>
The Texas Instruments K3 family of SoCs have one of more Microcontroller
Unit (MCU) subsystems that are comprised of dual-core Arm Cortex-R5F
processor cores. Add the device tree bindings document for these MCU
cluster devices. The added example illustrates the DT nodes for the
single MCU cluster device present on K3 AM65x family of SoCs.
Signed-off-by: Suman Anna <s-anna@ti.com>
remoteproc/k3-r5: add TI-SCI processor control helper functions
Texas Instruments' K3 generation SoCs has specific modules/register
spaces used for configuring the various aspects of a remote processor.
These include power, reset, boot vector and other configuration features
specific to each compute processor present on the SoC. These registers
are managed by the System Controller such as DMSC on K3 AM65x SoCs.
The Texas Instrument's System Control Interface (TI-SCI) Message Protocol
is used to communicate to the System Controller from various compute
processors to invoke specific services provided by the firmware running
on the System Controller.
Add a common processor control interface header file that can be used by
multiple remoteproc drivers. The helper functions within this header file
abstract the various TI SCI protocol ops for the remoteproc drivers, and
allow them to request the System Controller to be able to program and
manage various remote processors on the SoC. The remoteproc drivers are
expected to manage the life-cycle of their ti_sci_proc_dev local
structures.
Signed-off-by: Suman Anna <s-anna@ti.com>
Texas Instruments' K3 generation SoCs has specific modules/register
spaces used for configuring the various aspects of a remote processor.
These include power, reset, boot vector and other configuration features
specific to each compute processor present on the SoC. These registers
are managed by the System Controller such as DMSC on K3 AM65x SoCs.
The Texas Instrument's System Control Interface (TI-SCI) Message Protocol
is used to communicate to the System Controller from various compute
processors to invoke specific services provided by the firmware running
on the System Controller.
Add a common processor control interface header file that can be used by
multiple remoteproc drivers. The helper functions within this header file
abstract the various TI SCI protocol ops for the remoteproc drivers, and
allow them to request the System Controller to be able to program and
manage various remote processors on the SoC. The remoteproc drivers are
expected to manage the life-cycle of their ti_sci_proc_dev local
structures.
Signed-off-by: Suman Anna <s-anna@ti.com>
Merge branch 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.14.y
TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.14.y
* 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
firmware: ti_sci: Add support for processor control
arm64: dts: ti: k3-am6: Add the MCU RAM node
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.14.y
* 'platform-ti-linux-4.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
firmware: ti_sci: Add support for processor control
arm64: dts: ti: k3-am6: Add the MCU RAM node
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Merge tag 'v4.14.67' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into ti-linux-4.14.y
This is the 4.14.67 stable release
* tag 'v4.14.67' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (218 commits)
Linux 4.14.67
reiserfs: fix broken xattr handling (heap corruption, bad retval)
i2c: imx: Fix race condition in dma read
i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
PCI: pciehp: Fix unprotected list iteration in IRQ handler
PCI: pciehp: Fix use-after-free on unplug
PCI: Skip MPS logic for Virtual Functions (VFs)
PCI: hotplug: Don't leak pci_slot on registration failure
parisc: Remove unnecessary barriers from spinlock.h
net/smc: no shutdown in state SMC_LISTEN
packet: refine ring v3 block size test to hold one frame
netfilter: conntrack: dccp: treat SYNC/SYNCACK as invalid if no prior state
xfrm_user: prevent leaking 2 bytes of kernel memory
parisc: Remove ordered stores from syscall.S
f2fs: sanity check for total valid node blocks
f2fs: return error during fill_super
KVM: irqfd: fix race between EPOLLHUP and irq_bypass_register_consumer
nvme: fix handling of metadata_len for NVME_IOCTL_IO_CMD
ARM: dts: imx6: RDU2: fix irq type for mv88e6xxx switch
ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
This is the 4.14.67 stable release
* tag 'v4.14.67' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (218 commits)
Linux 4.14.67
reiserfs: fix broken xattr handling (heap corruption, bad retval)
i2c: imx: Fix race condition in dma read
i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
PCI: pciehp: Fix unprotected list iteration in IRQ handler
PCI: pciehp: Fix use-after-free on unplug
PCI: Skip MPS logic for Virtual Functions (VFs)
PCI: hotplug: Don't leak pci_slot on registration failure
parisc: Remove unnecessary barriers from spinlock.h
net/smc: no shutdown in state SMC_LISTEN
packet: refine ring v3 block size test to hold one frame
netfilter: conntrack: dccp: treat SYNC/SYNCACK as invalid if no prior state
xfrm_user: prevent leaking 2 bytes of kernel memory
parisc: Remove ordered stores from syscall.S
f2fs: sanity check for total valid node blocks
f2fs: return error during fill_super
KVM: irqfd: fix race between EPOLLHUP and irq_bypass_register_consumer
nvme: fix handling of metadata_len for NVME_IOCTL_IO_CMD
ARM: dts: imx6: RDU2: fix irq type for mv88e6xxx switch
ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
Linux 4.14.67
reiserfs: fix broken xattr handling (heap corruption, bad retval)
commit a13f085d111e90469faf2d9965eb39b11c114d7e upstream.
This fixes the following issues:
- When a buffer size is supplied to reiserfs_listxattr() such that each
individual name fits, but the concatenation of all names doesn't fit,
reiserfs_listxattr() overflows the supplied buffer. This leads to a
kernel heap overflow (verified using KASAN) followed by an out-of-bounds
usercopy and is therefore a security bug.
- When a buffer size is supplied to reiserfs_listxattr() such that a
name doesn't fit, -ERANGE should be returned. But reiserfs instead just
truncates the list of names; I have verified that if the only xattr on a
file has a longer name than the supplied buffer length, listxattr()
incorrectly returns zero.
With my patch applied, -ERANGE is returned in both cases and the memory
corruption doesn't happen anymore.
Credit for making me clean this code up a bit goes to Al Viro, who pointed
out that the ->actor calling convention is suboptimal and should be
changed.
Link: http://lkml.kernel.org/r/20180802151539.5373-1-jannh@google.com
Fixes: 48b32a3553a5 ("reiserfs: use generic xattr handlers")
Signed-off-by: Jann Horn <jannh@google.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit a13f085d111e90469faf2d9965eb39b11c114d7e upstream.
This fixes the following issues:
- When a buffer size is supplied to reiserfs_listxattr() such that each
individual name fits, but the concatenation of all names doesn't fit,
reiserfs_listxattr() overflows the supplied buffer. This leads to a
kernel heap overflow (verified using KASAN) followed by an out-of-bounds
usercopy and is therefore a security bug.
- When a buffer size is supplied to reiserfs_listxattr() such that a
name doesn't fit, -ERANGE should be returned. But reiserfs instead just
truncates the list of names; I have verified that if the only xattr on a
file has a longer name than the supplied buffer length, listxattr()
incorrectly returns zero.
With my patch applied, -ERANGE is returned in both cases and the memory
corruption doesn't happen anymore.
Credit for making me clean this code up a bit goes to Al Viro, who pointed
out that the ->actor calling convention is suboptimal and should be
changed.
Link: http://lkml.kernel.org/r/20180802151539.5373-1-jannh@google.com
Fixes: 48b32a3553a5 ("reiserfs: use generic xattr handlers")
Signed-off-by: Jann Horn <jannh@google.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>