hgchu [Fri, 12 Jan 2018 05:18:03 +0000 (14:18 +0900)]
scsi: ufs: add pre clock controls.
Change-Id: I0356bd21c9a698b9c7d82682cc10b5fbd3127a8a
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 05:10:03 +0000 (14:10 +0900)]
scsi: ufs: remove forced selection of ondemand governor
Change-Id: I8a98ed11daaac67fa74bc6bf2b02d13603bc408c
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:41:16 +0000 (13:41 +0900)]
scsi: ufs: move unmap from ISR to Soft IRQ
Change-Id: I4cbdb3904838ffdb82338b71463f523020d51f53
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:31:16 +0000 (13:31 +0900)]
scsi: change scsi_softirq_done as external
Change-Id: I1f25d7054c3868f77d4589425455ccd8fcf04969
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:28:54 +0000 (13:28 +0900)]
scsi: ufs: load debugging information to memory
Change-Id: I88953cc61f44795b5c90186a0214e2c659f31b67
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:24:38 +0000 (13:24 +0900)]
[COMMON] ufs: exynos: fix race of error recovery
There are some race condition.when hci sfr dump starts in error handler,
if hibernation exit function send uic cmd with uic errors then race happens.
Therefore we make hibernation exit skip to send uic cmd when uic errors
happens.
Change-Id: I261f1cecca4210ddda6088d784790923373ae18d
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:22:48 +0000 (13:22 +0900)]
scsi: ufs: use link lost interrupt
Change-Id: Idd5cf6b68d03cd3756536cf67e2151e7ba575866
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:14:44 +0000 (13:14 +0900)]
scsi: ufs: fix data segment length for upiu header
Change-Id: I3f1c16422c32809390c83dc4391f396b9e9b0ad6
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:12:25 +0000 (13:12 +0900)]
scsi: ufs: add dedicated workqueue with high priority
Change-Id: Id317ef9527702ae7a2d5b85f51fddc0a4aaa5c84
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 04:06:10 +0000 (13:06 +0900)]
scsi: ufs: clean-up remained cmd on abort-handling
Change-Id: Iee3000f142cd9ef969f351c22810d7f17724c29f
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 03:58:56 +0000 (12:58 +0900)]
scsi: ufs: guarantee link's active state for device management
Change-Id: I5655825ab08281495abd0051a4c73799a32cee3d
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 03:51:40 +0000 (12:51 +0900)]
scsi: ufs: fix ufs power mode and link power state
Change-Id: Id9e4677e5e8c71aa060a922b75eba8a84f42d00d
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 03:49:17 +0000 (12:49 +0900)]
scsi: ufs: do not permit hibernation op during link-setup
Change-Id: I2a2e1bb7896030c87289ce13748b48be7cc6146f
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 03:43:34 +0000 (12:43 +0900)]
scsi: ufs: prevent i/o request during recovery-seq
Change-Id: I658dd2d95dcda721a9cd8ee8af50968975adc718
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 02:34:29 +0000 (11:34 +0900)]
scsi: ufs: recover link state after entering hibernation fails
Change-Id: I9dccb778410033510e6e38ee399c93ce721a4a36
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 02:26:28 +0000 (11:26 +0900)]
scsi: ufs: allow fake clock gating
Change-Id: Iff1f258be4ec2375e32bbea85f0fb49d97c87d18
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 02:12:10 +0000 (11:12 +0900)]
scsi: ufs: guarantee hold and release for vendor's operation
Change-Id: I966cd27b854a8fff23c76fbd01ae8c638d01f1d8
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 02:07:49 +0000 (11:07 +0900)]
scsi: ufs: detect data link error and recovery
Change-Id: I7418d2c071e737b1a4de5248e97bb0735af65975
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 02:00:55 +0000 (11:00 +0900)]
scsi: ufs: don't do anything during error recovery during error
Change-Id: Ie43735be58a7afd20a32e88e73b7a11a29db28a3
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:57:00 +0000 (10:57 +0900)]
scsi: ufs: add caps info for platform init
Change-Id: I70fccbd21232c6e41fad7841a4c21c951a3b7546
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:49:15 +0000 (10:49 +0900)]
scsi: ufs: Add support hibernation control
Change-Id: I40feacabe23011491cfb24119ba4d861dfbd738d
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:32:29 +0000 (10:32 +0900)]
scsi: ufs: adjusted UFS power management for exynos specific
Change-Id: I151e77eb1f5f2703e33cd4e9834204a9fa66f88c
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:25:40 +0000 (10:25 +0900)]
scsi: ufs: add error check during link setup
Change-Id: I98eafd045b2e75726e77a9907de3bae571d86093
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:18:20 +0000 (10:18 +0900)]
scsi: ufs: identify nexus type
Change-Id: I67e722d443fbf576b7f0a5e1f10bcd84fdae71d8
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:12:48 +0000 (10:12 +0900)]
scsi: ufs: get deivce descriptor information
Change-Id: Ifcadfbdbc0e954de726d28a7a33a1c8665123e47
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:04:23 +0000 (10:04 +0900)]
scsi: ufs: fix to clear the bit of outstanding_tasks
Change-Id: I5f24c3783eca5102b5b3c098cfcd39d75a0f451a
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 01:01:12 +0000 (10:01 +0900)]
scsi: ufs: Add sysfs node for argos
Change-Id: I89c56c18c57923ab80328ea2f2c987c50e9d12c4
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 00:54:59 +0000 (09:54 +0900)]
scsi: ufs: fix error handling sequence
Change-Id: Id7a538dba09e8efe5ea43b9d0fa329717c6e78ea
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 00:34:19 +0000 (09:34 +0900)]
scsi: ufs: amend ufs host for exynos8890 evt1
Change-Id: Ic77815f6364bf42af7b7c51f410fcf6f51e7c980
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 00:17:26 +0000 (09:17 +0900)]
scsi: ufs: add quirks for specific ufshci
Change-Id: I4f69c3f4a465b90b31472ffe838c185298f840c4
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Thu, 11 Jan 2018 23:55:09 +0000 (08:55 +0900)]
scsi: ufs: add exynos host controller
Change-Id: I6009c8a9e759f04844eb2597a6a422caca38271c
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Thu, 11 Jan 2018 23:28:12 +0000 (08:28 +0900)]
scsi: ufs: add vendor's specific operation
Change-Id: Id53ebff96cbda110ba1d3d37fde66605edec09f7
Signed-off-by: hgchu <hg.chu@samsung.com>
yi jaeuk [Fri, 4 May 2018 11:51:03 +0000 (20:51 +0900)]
[9610] firmware: add ACPM TMU plugin binary
Change-Id: I8fe6115b908ba7a0cc273cc69ba29979207c5544
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Fri, 4 May 2018 09:21:40 +0000 (18:21 +0900)]
[9610] firmware: add ACPM FVP plugin binary
Change-Id: I99fd952d35cd61b49cafe01b246a6adb8024e215
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Fri, 4 May 2018 12:08:32 +0000 (21:08 +0900)]
[COMMON] firmware: Makefile: convert ihex2fw
Change-Id: I1486470ff0718627fdc938a1220523e8d1cf3f19
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
Eunseok Choi [Fri, 2 Feb 2018 05:36:32 +0000 (14:36 +0900)]
[COMMON] support exynos in-kernel firmware
Change-Id: I7bc8caa1079d60c40e9ab6643b25be1bab4089d0
Signed-off-by: Eunseok Choi <es10.choi@samsung.com>
yi jaeuk [Fri, 4 May 2018 09:14:28 +0000 (18:14 +0900)]
[HACK][9610] drivers: acpm: set NULL to acpm_mfd_node
Change-Id: I5cd662400604e46fd2868972634d47f639cc48ec
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Fri, 4 May 2018 08:50:21 +0000 (17:50 +0900)]
[9610] include: chip_id: add exynos9810 chip_id
Change-Id: I8206d813c467fb65f0bc90b53276ff5a74c49fb1
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Fri, 4 May 2018 07:17:59 +0000 (16:17 +0900)]
[9610] arm64: configs: Enable ACPM
Change-Id: Ib2504642fe9ec1dbe6f544beb7e2b27a506dc4ad
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
Naeun Yoo [Thu, 11 Jan 2018 13:24:18 +0000 (22:24 +0900)]
[COMMON] include: soc: modify exynos_ss for acpm
Change-Id: I6acd82ca5963b45e9bc349beb1455f0689616a86
Signed-off-by: Naeun Yoo <ne.yoo@samsung.com>
yi jaeuk [Fri, 4 May 2018 07:08:22 +0000 (16:08 +0900)]
[9610] arm64: dtsi: add ACPM node
Change-Id: I85207444f120a04a9ceff37a39d866f60227d804
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Fri, 4 May 2018 06:51:15 +0000 (15:51 +0900)]
[COMMON] drivers: soc: add acpm driver to Kconfig, Makefile
Change-Id: I94895563f73b763c5df84534d00396c7f11c0161
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Fri, 4 May 2018 05:24:42 +0000 (14:24 +0900)]
[9610] drivers: soc: introduce ACPM driver
Change-Id: I74dca6a17cf3d2b1189371d9c9d8c5a52e9bd70b
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 05:36:48 +0000 (14:36 +0900)]
[9610] arm64: dtsi: Corrected clock node.
Change-Id: Ie71e26cd57ffd25f2d6fe4ac0d4bbcf7da02391d
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 05:28:24 +0000 (14:28 +0900)]
[9610] arm64: erd9610_defconfig: Enabled CONFIG_ECT.
Change-Id: I4f0115ed16c6d62e927a46444cca950dced3439d
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 05:20:26 +0000 (14:20 +0900)]
[9610] arm64: erd9610_defconfig: Enabled CAL_IF configs.
Change-Id: I92fcc6dfb7d7e87749935d658b7908709aedaafd
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 05:31:48 +0000 (14:31 +0900)]
[9610] arm64: dts: Added ECT node.
Change-Id: Idc3cdfe7da0df275466536ae73dd46dabfc81930
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 04:53:32 +0000 (13:53 +0900)]
[9610] arm64: dtsi: Added exynos_pmu node.
Change-Id: I17044200a14ad413e45bfdf48675b8c749125bb9
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Lee Yongjin [Mon, 22 Jan 2018 06:33:24 +0000 (15:33 +0900)]
soc: samsung: ect: modified the CLASS_ATTR macro in kernel4.14
Change-Id: Ia5edfef564b890b0ed777adf9d8a95fcf4fe1b7a
Signed-off-by: Lee Yongjin <yongjin0.lee@samsung.com>
Lee Yongjin [Thu, 23 Nov 2017 12:58:27 +0000 (21:58 +0900)]
[COMMON] soc: samsung: ect: fixed prevent defects
CID201507, CID201485, CID201471, CID201258, CID201144, CID200802
Change-Id: I7eea257c11b9b90abcb3d985721a309db42d2c01
Signed-off-by: Lee Yongjin <yongjin0.lee@samsung.com>
Lee Yongjin [Tue, 9 Jan 2018 10:16:00 +0000 (19:16 +0900)]
[COMMON] trace: ess: fixed the complie error by cmu and pmu
Change-Id: I0f7370a0b15d1d0bf36d17562d8f55dbb89e9f71
Signed-off-by: Lee Yongjin <yongjin0.lee@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 02:22:29 +0000 (11:22 +0900)]
[COMMON] soc: samsung: Added initial exynos_pmu codes.
Change-Id: I018b1403724225c5da3b9cd6c46824e452b23aa1
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 02:14:43 +0000 (11:14 +0900)]
[COMMON] soc: samsung: Added initial ect_parser codes.
Change-Id: Id10fb630aae22f9975ae3cd5f722d597c7b5dbf2
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 04:14:34 +0000 (13:14 +0900)]
[COMMON] clk: samsung: Added initial clock codes.
Change-Id: If68f3fea942f5eb86d7043208c58a216ccdaf96e
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 4 May 2018 02:02:13 +0000 (11:02 +0900)]
[COMMON] soc: samsung: cal-if: Added initial CAL_IF codes.
Change-Id: Ibe84cbd4af5a2d7462db9ecffa2b85d6d0865441
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 12:05:23 +0000 (21:05 +0900)]
[HACK] disalbe chip-id driver function
Change-Id: I101b88152dd0c3ee0deb91abc4382e5b97d51953
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 12:08:17 +0000 (21:08 +0900)]
[HACK] Fix uart driver code
Change-Id: I98f599b91ffd2a55a5b75e234a8d01fc938d24cc
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 12:06:39 +0000 (21:06 +0900)]
[HACK] remove clock setting code
Change-Id: Ib34be34cd4a23277a8cb29dcf9592ec6abfded27
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 10:18:53 +0000 (19:18 +0900)]
[COMMON] dt-binding: samsung: Add exynos9610 binding header
Change-Id: I4e929e5f320bd5280cc0d202046ac28373b77864
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
lakkyung.jung [Thu, 14 Sep 2017 02:21:55 +0000 (19:21 -0700)]
[9610] arm64: dtsi: Enable MP.
Change-Id: Ic7aa24f6606942432ec7da6ff34ce5daefa42465
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 06:53:47 +0000 (15:53 +0900)]
[9610] arm64: dts: Change name maestro-erd dts
Change-Id: Ice6f679ab908d646cd524418056a905c040ccb43
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jeonghoon Jang [Fri, 8 Sep 2017 01:06:02 +0000 (10:06 +0900)]
[9610] clk: samsung: Added exynos9610 clk driver.
Change-Id: I883a7fb07ad763dc593d15fa605786e06c7feea0
Signed-off-by: Jeonghoon Jang <jnghn.jang@samsung.com>
Hyunki Koo [Fri, 25 Aug 2017 04:56:30 +0000 (13:56 +0900)]
[9610][ERD] arm64: defconfig: create initial erd9610_defconfig
Change-Id: I9312ff832ae185d933f59b7387c8b15db048f0f4
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Hyunki Koo [Fri, 25 Aug 2017 04:55:28 +0000 (13:55 +0900)]
[9610] arm64: dtsi: create initial pinctrl dtsi of exynos9610
Change-Id: Id625b29839962c7cb1efab1da1dfbd3b19189814
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 10:39:27 +0000 (19:39 +0900)]
[9610][ERD] arm64: dts: create initial exynos9610 MAESTRO-ERD board dts
Change-Id: I5eaffd942d1b0208414c294cbec7a0e9b4c68faa
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Hyunki Koo [Thu, 24 Aug 2017 07:56:34 +0000 (16:56 +0900)]
[9610] arm64: dtsi: create initial dtsi of exynos9610
Change-Id: I729265cf614990adb37c93a81bea28f085277341
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 04:42:00 +0000 (13:42 +0900)]
[9610] soc: samsung: Add EXYNOS9610 chip-id information
Change-Id: I39715d220ff9bcd9e62c1bb5667168eee08f8cc4
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Thu, 3 May 2018 04:32:36 +0000 (13:32 +0900)]
[9610] arm64: Add SOC_EXYNOS9610 in Kconfig.platforms.
Change-Id: I66eb552449e867d4788aa583da7faa7bbc97bc2f
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
eunki_kim [Fri, 26 Jun 2015 08:46:27 +0000 (17:46 +0900)]
[COMMON] pinctrl: samsung: support debug show
Each pin is possible to show its register value through DEBUG_FS.
This patch supports it like below:
cat /sys/kernel/debug/pinctrl/
10580000.pinctrl/pinconf-pins
cat /sys/kernel/debug/pinctrl/
10580000.pinctrl/pinconf-groups
cat /sys/kernel/debug/pinctrl/
10580000.pinctrl/pins
Change-Id: I99a05520946d7299ff692a1043b5b5390f33dd0f
Signed-off-by: eunki_kim <eunki_kim@samsung.com>
Youngmin Nam [Tue, 22 Aug 2017 06:47:38 +0000 (15:47 +0900)]
[COMMON] pinctrl: samsung: add pinctrl_force_sleep for sleep state configuration
Change-Id: I608701d120774998ff771d084a0da13b1675ec9d
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Hyunki Koo [Thu, 4 Jan 2018 04:09:44 +0000 (13:09 +0900)]
[COMMON] pinctrl: samsung: change FLTCON register setting routine.
The FLTCON register offset of each GPIO block is not regular.
To support irregular FLTCON offset of all GPIO block,
we should use fltcon_offset value in driver data to set FLTCON properly.
And we need to check whether both FLTCON0 and FLTCON1 should be set or not.
When nr_pins(The number of pins in the signle GPIO bank)
is greater than 4(The max number of pins in the single GPIO bank),
The FILTCON1 register also should be set.
When nr_pins is not greater than 4, we don't need to set FLTCON1.
Only alive block(gpa) has the filter selection bit.
So we need to set filter selction bit in case of alive block.
If some GPIO block is not alive, we should not set filter selection bit.
Change-Id: Icadc5f8df49fbf9b983918150e7016f96c40e57c
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Jaehyoung Choi [Wed, 2 May 2018 13:59:38 +0000 (22:59 +0900)]
[9610] pinctrl: samsung: add initial definition of pinctrl for exynos9610
Change-Id: Ie628d29ab948bac4a31aa343087115fb174cc87f
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Hyunki Koo [Thu, 4 Jan 2018 03:46:31 +0000 (12:46 +0900)]
[COMMON] pinctrl: samsung : Add eint filter control register offset filed
To support eint filter control setting, we should describe
enit FLTCON register offset in EXYNOS9_PIN_BANK_EINT macro.
With fltcon_offset, we can set FLTCON regiseter of each GPIO block.
Change-Id: I5754fbfba1f7bd89c8218c5329af1c91081fac77
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Hosung Kim [Sun, 9 Apr 2017 11:26:20 +0000 (20:26 +0900)]
[COMMON] clocksource: exynos_mct: add flags as IRQF_PERCPU
This flags prevents to migrate timer interrupt to other cpu.
Change-Id: Iabc2e3607b51cc879c2eb3ab02ed897d4ae8506f
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Hosung Kim [Sun, 9 Apr 2017 11:06:05 +0000 (20:06 +0900)]
[COMMON] clocksource: exynos_mct: change H/W control sequence
This commit changes H/W control sequence of a majority in
exynos_mct codes. Because changed codes are mass-produced already
but mainline code is not so.
Change-Id: I168e289b06eddf4a53df66c8c11a4df52d11fd4d
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Hosung Kim [Sun, 9 Apr 2017 09:10:31 +0000 (18:10 +0900)]
[COMMON] clocksource: exynos_mct: use only as clockevent
This commit set exynos_mct to use clockevent only.
Change-Id: Ie1a103f2a3b5b6283a868f542e1ab0337242d26f
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Hosung Kim [Wed, 24 Jan 2018 13:31:54 +0000 (22:31 +0900)]
[COMMON] clocksource: arm_arch_timer: clocksource only flag for exynos
This commit adds the specific flag for using clocksource only in exynos.
It is so specific flag for exynos because exynos uses special power
feature for cpu on/off in the short time we called it c2 mode.
In exynos SoC, clocksource is used as arm_arch_timer and clockevent
is used as exynos_mct.
Change-Id: I411ea46d0f8997e3507adc7e60cb8996507e025b
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Yulgon Kim [Fri, 22 Apr 2016 12:57:25 +0000 (21:57 +0900)]
[COMMON] arm64: adds map.h to arch/arm64/include/asm
This commit adds map.h into "arch/arm64/include/asm".
Change-Id: I687d590065b9c4c93de62d2948b5aa5d01ed89fd
Signed-off-by: Yulgon Kim <yulgon.kim@samsung.com>
Yulgon Kim [Fri, 22 Apr 2016 12:55:50 +0000 (21:55 +0900)]
[COMMON] trace: ess: adds exynos-snapshot header for exynos soc
This commit adds exynos-snapshoti header into 'include/linux/".
Change-Id: I1588fdf2b306a34545878bf921fd1cd58f057b4e
Signed-off-by: Yulgon Kim <yulgon.kim@samsung.com>
Yulgon Kim [Fri, 22 Apr 2016 12:54:37 +0000 (21:54 +0900)]
[COMMON] arm64: Add exynos-smc.s and smc.h files
This patch adds 'exynos-smc.s' to 'arch/arm64/kernel' and 'smc.h'
to 'include/linux'.
Change-Id: Ib9d72f6bd840945e70c20e9478100a9770d8a284
Signed-off-by: Yulgon Kim <yulgon.kim@samsung.com>
Changki Kim [Thu, 17 Sep 2015 07:20:48 +0000 (16:20 +0900)]
[COMMON] soc: chipid: Add unique_id for adb
Change-Id: I144b1d2f806f949bb9a4f2a722296c3fbcbe6b99
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Hosung Kim [Fri, 19 Jun 2015 12:58:42 +0000 (21:58 +0900)]
[COMMON] soc: samsung: fix to declare platform driver for exynos-chipid
This commit fixes that exynos-chipid declared the platform driver
structure with __initdata section. The platform driver is used always
seaching by kernel platform driver framework.
If it is declared with __initdata, it's region is released by kernel
after booting.
Change-Id: I5776ff20d877a021c42f01d05d4cb2a1a6a24939
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Pankaj Dubey [Thu, 11 Dec 2014 13:49:06 +0000 (22:49 +0900)]
[COMMON] soc: samsung: add exynos chipid driver support
Exynos SoCs have Chipid, for identification of product IDs
and SoC revisions. This patch intendes to provide initialization
code for all these functionalites.
This driver usese existing binding for exnos-chipid.
CC: Grant Likely <grant.likely@linaro.org>
CC: Rob Herring <robh+dt@kernel.org>
CC: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Conflicts:
drivers/soc/Kconfig
drivers/soc/Makefile
drivers/soc/samsung/Kconfig
drivers/soc/samsung/Makefile
Change-Id: I1271233bcbbc2509e0a0fe69b24de8b3a0044418
Greg Kroah-Hartman [Sun, 1 Apr 2018 08:23:42 +0000 (10:23 +0200)]
Merge 4.14.32 into android-4.14
Changes in 4.14.32
tcp: reset sk_send_head in tcp_write_queue_purge
tcp: purge write queue upon aborting the connection
qed: Fix non TCP packets should be dropped on iWARP ll2 connection
sysfs: symlink: export sysfs_create_link_nowarn()
net: phy: relax error checking when creating sysfs link netdev->phydev
devlink: Remove redundant free on error path
macvlan: filter out unsupported feature flags
net: ipv6: keep sk status consistent after datagram connect failure
ipv6: old_dport should be a __be16 in __ip6_datagram_connect()
ipv6: sr: fix NULL pointer dereference when setting encap source address
ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state
mlxsw: spectrum_buffers: Set a minimum quota for CPU port traffic
net: phy: Tell caller result of phy_change()
net sched actions: return explicit error when tunnel_key mode is not specified
ppp: avoid loop in xmit recursion detection code
rhashtable: Fix rhlist duplicates insertion
kcm: lock lower socket in kcm_attach
sch_netem: fix skb leak in netem_enqueue()
ieee802154: 6lowpan: fix possible NULL deref in lowpan_device_event()
net: use skb_to_full_sk() in skb_update_prio()
net: Fix hlist corruptions in inet_evict_bucket()
dccp: check sk for closed state in dccp_sendmsg()
ipv6: fix access to non-linear packet in ndisc_fill_redirect_hdr_option()
l2tp: do not accept arbitrary sockets
net: ethernet: arc: Fix a potential memory leak if an optional regulator is deferred
net: ethernet: ti: cpsw: add check for in-band mode setting with RGMII PHY interface
net: fec: Fix unbalanced PM runtime calls
net/iucv: Free memory obtained by kzalloc
netlink: avoid a double skb free in genlmsg_mcast()
net: Only honor ifindex in IP_PKTINFO if non-0
net: systemport: Rewrite __bcm_sysport_tx_reclaim()
qede: Fix qedr link update
skbuff: Fix not waking applications when errors are enqueued
team: Fix double free in error path
soc/fsl/qbman: fix issue in qman_delete_cgr_safe()
dpaa_eth: fix error in dpaa_remove()
dpaa_eth: remove duplicate initialization
dpaa_eth: increment the RX dropped counter when needed
dpaa_eth: remove duplicate increment of the tx_errors counter
s390/qeth: free netdevice when removing a card
s390/qeth: when thread completes, wake up all waiters
s390/qeth: lock read device while queueing next buffer
s390/qeth: on channel error, reject further cmd requests
Linux 4.14.32
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Greg Kroah-Hartman [Sat, 31 Mar 2018 16:10:43 +0000 (18:10 +0200)]
Linux 4.14.32
Julian Wiedmann [Tue, 20 Mar 2018 06:59:15 +0000 (07:59 +0100)]
s390/qeth: on channel error, reject further cmd requests
[ Upstream commit
a6c3d93963e4b333c764fde69802c3ea9eaa9d5c ]
When the IRQ handler determines that one of the cmd IO channels has
failed and schedules recovery, block any further cmd requests from
being submitted. The request would inevitably stall, and prevent the
recovery from making progress until the request times out.
This sort of error was observed after Live Guest Relocation, where
the pending IO on the READ channel intentionally gets terminated to
kick-start recovery. Simultaneously the guest executed SIOCETHTOOL,
triggering qeth to issue a QUERY CARD INFO command. The command
then stalled in the inoperabel WRITE channel.
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Julian Wiedmann [Tue, 20 Mar 2018 06:59:14 +0000 (07:59 +0100)]
s390/qeth: lock read device while queueing next buffer
[ Upstream commit
17bf8c9b3d499d5168537c98b61eb7a1fcbca6c2 ]
For calling ccw_device_start(), issue_next_read() needs to hold the
device's ccwlock.
This is satisfied for the IRQ handler path (where qeth_irq() gets called
under the ccwlock), but we need explicit locking for the initial call by
the MPC initialization.
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Julian Wiedmann [Tue, 20 Mar 2018 06:59:13 +0000 (07:59 +0100)]
s390/qeth: when thread completes, wake up all waiters
[ Upstream commit
1063e432bb45be209427ed3f1ca3908e4aa3c7d7 ]
qeth_wait_for_threads() is potentially called by multiple users, make
sure to notify all of them after qeth_clear_thread_running_bit()
adjusted the thread_running_mask. With no timeout, callers would
otherwise stall.
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Julian Wiedmann [Tue, 20 Mar 2018 06:59:12 +0000 (07:59 +0100)]
s390/qeth: free netdevice when removing a card
[ Upstream commit
6be687395b3124f002a653c1a50b3260222b3cd7 ]
On removal, a qeth card's netdevice is currently not properly freed
because the call chain looks as follows:
qeth_core_remove_device(card)
lx_remove_device(card)
unregister_netdev(card->dev)
card->dev = NULL !!!
qeth_core_free_card(card)
if (card->dev) !!!
free_netdev(card->dev)
Fix it by free'ing the netdev straight after unregistering. This also
fixes the sysfs-driven layer switch case (qeth_dev_layer2_store()),
where the need to free the current netdevice was not considered at all.
Note that free_netdev() takes care of the netif_napi_del() for us too.
Fixes:
4a71df50047f ("qeth: new qeth device driver")
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Reviewed-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Camelia Groza [Wed, 14 Mar 2018 13:37:32 +0000 (08:37 -0500)]
dpaa_eth: remove duplicate increment of the tx_errors counter
[ Upstream commit
82d141cd19d088ee41feafde4a6f86eeb40d93c5 ]
The tx_errors counter is incremented by the dpaa_xmit caller.
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Camelia Groza [Wed, 14 Mar 2018 13:37:31 +0000 (08:37 -0500)]
dpaa_eth: increment the RX dropped counter when needed
[ Upstream commit
e4d1b37c17d000a3da9368a3e260fb9ea4927c25 ]
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Camelia Groza [Wed, 14 Mar 2018 13:37:30 +0000 (08:37 -0500)]
dpaa_eth: remove duplicate initialization
[ Upstream commit
565186362b73226a288830abe595f05f0cec0bbc ]
The fd_format has already been initialized at this point.
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Madalin Bucur [Wed, 14 Mar 2018 13:37:29 +0000 (08:37 -0500)]
dpaa_eth: fix error in dpaa_remove()
[ Upstream commit
88075256ee817041d68c2387f29065b5cb2b342a ]
The recent changes that make the driver probing compatible with DSA
were not propagated in the dpa_remove() function, breaking the
module unload function. Using the proper device to address the issue.
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Madalin Bucur [Wed, 14 Mar 2018 13:37:28 +0000 (08:37 -0500)]
soc/fsl/qbman: fix issue in qman_delete_cgr_safe()
[ Upstream commit
96f413f47677366e0ae03797409bfcc4151dbf9e ]
The wait_for_completion() call in qman_delete_cgr_safe()
was triggering a scheduling while atomic bug, replacing the
kthread with a smp_call_function_single() call to fix it.
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Arkadi Sharshevsky [Thu, 8 Mar 2018 10:42:10 +0000 (12:42 +0200)]
team: Fix double free in error path
[ Upstream commit
cbcc607e18422555db569b593608aec26111cb0b ]
The __send_and_alloc_skb() receives a skb ptr as a parameter but in
case it fails the skb is not valid:
- Send failed and released the skb internally.
- Allocation failed.
The current code tries to release the skb in case of failure which
causes redundant freeing.
Fixes:
9b00cf2d1024 ("team: implement multipart netlink messages for options transfers")
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Vinicius Costa Gomes [Wed, 14 Mar 2018 20:32:09 +0000 (13:32 -0700)]
skbuff: Fix not waking applications when errors are enqueued
[ Upstream commit
6e5d58fdc9bedd0255a8781b258f10bbdc63e975 ]
When errors are enqueued to the error queue via sock_queue_err_skb()
function, it is possible that the waiting application is not notified.
Calling 'sk->sk_data_ready()' would not notify applications that
selected only POLLERR events in poll() (for example).
Fixes:
1da177e4c3f4 ("Linux-2.6.12-rc2")
Reported-by: Randy E. Witt <randy.e.witt@intel.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Michal Kalderon [Wed, 14 Mar 2018 12:56:53 +0000 (14:56 +0200)]
qede: Fix qedr link update
[ Upstream commit
4609adc27175839408359822523de7247d56c87f ]
Link updates were not reported to qedr correctly.
Leading to cases where a link could be down, but qedr
would see it as up.
In addition, once qede was loaded, link state would be up,
regardless of the actual link state.
Signed-off-by: Michal Kalderon <michal.kalderon@cavium.com>
Signed-off-by: Ariel Elior <ariel.elior@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Florian Fainelli [Tue, 13 Mar 2018 21:45:07 +0000 (14:45 -0700)]
net: systemport: Rewrite __bcm_sysport_tx_reclaim()
[ Upstream commit
484d802d0f2f29c335563fcac2a8facf174a1bbc ]
There is no need for complex checking between the last consumed index
and current consumed index, a simple subtraction will do.
This also eliminates the possibility of a permanent transmit queue stall
under the following conditions:
- one CPU bursts ring->size worth of traffic (up to 256 buffers), to the
point where we run out of free descriptors, so we stop the transmit
queue at the end of bcm_sysport_xmit()
- because of our locking, we have the transmit process disable
interrupts which means we can be blocking the TX reclamation process
- when TX reclamation finally runs, we will be computing the difference
between ring->c_index (last consumed index by SW) and what the HW
reports through its register
- this register is masked with (ring->size - 1) = 0xff, which will lead
to stripping the upper bits of the index (register is 16-bits wide)
- we will be computing last_tx_cn as 0, which means there is no work to
be done, and we never wake-up the transmit queue, leaving it
permanently disabled
A practical example is e.g: ring->c_index aka last_c_index = 12, we
pushed 256 entries, HW consumer index = 268, we mask it with 0xff = 12,
so last_tx_cn == 0, nothing happens.
Fixes:
80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Ahern [Fri, 16 Feb 2018 19:03:03 +0000 (11:03 -0800)]
net: Only honor ifindex in IP_PKTINFO if non-0
[ Upstream commit
2cbb4ea7de167b02ffa63e9cdfdb07a7e7094615 ]
Only allow ifindex from IP_PKTINFO to override SO_BINDTODEVICE settings
if the index is actually set in the message.
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Nicolas Dichtel [Wed, 14 Mar 2018 20:10:23 +0000 (21:10 +0100)]
netlink: avoid a double skb free in genlmsg_mcast()
[ Upstream commit
02a2385f37a7c6594c9d89b64c4a1451276f08eb ]
nlmsg_multicast() consumes always the skb, thus the original skb must be
freed only when this function is called with a clone.
Fixes:
cb9f7a9a5c96 ("netlink: ensure to loop over all netns in genlmsg_multicast_allns()")
Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>