summaryrefslogtreecommitdiff
path: root/wiki/Chat_log/20180524-core-chatlog
blob: 50e92a7f7b1dedd17da904836c616852a8e4d26e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
Core-chat-meeting-2018-05-24

09:31 < geertu> Welcome to today's Core Group Chat!
09:32 < geertu> Agenda:
09:32 < geertu> 1. Status Updates
09:32 < geertu> 2. Discussion Topics
09:32 < geertu>   a. Should we implement platform_driver.shutdown() on each device
09:32 < geertu>      driver?
09:32 < geertu> Topic 1. Status updates
09:32 < geertu> A) What have we done since last time:
09:32 < geertu> Kaneko-san posted M3-N thermal support v4.
09:32 < geertu> Marek worked on Linux (PCIe and DA9063L support, dropped mtdparts from
09:32 < geertu> DT) and U-Boot (Blanche and I2C DM/DT conversion, PFC cleanups, xHCI
09:32 < geertu> fixes).
09:32 < geertu> Morimoto-san is happily hacking periject.
09:32 < geertu> Niklas added I2C support to M3-N PFC.
09:32 < geertu> Shimoda-san resubmitted E3 SYSC (incl. ES1.0 workaround), and upported
09:32 < geertu> E3 PFC and GPIO support.
09:32 < geertu> Ulrich posted DMAC bindings upports.
09:32 < geertu> Geert did some Periupport analysis and upporting, sent clk/pfc pull
09:32 < geertu> requests, assisted Gilad with H3 CryptoCell support, and removed legacy
09:32 < geertu> SMP fallback for H2 and M2-W.
09:33 < geertu> B) What we plan to do till next time:
09:33 < geertu> Kaneko-san will upport M3-N WDT support.
09:33 < geertu> Marek will handle PCIe suspend/resume for Linux, and automatic mtdparts
09:33 < geertu> bootargs on U-Boot.
09:33 < geertu> Morimoto-san will enhance periject based on feedback.
09:33 < geertu> Niklas will investigate pinctrl problems on V3M.
09:33 < geertu> Shimoda-san will upport USB2.0 PFC for E3, and pave the way forward
09:33 < geertu> for IPMMU.
09:33 < geertu> Ulrich will work on memory size detection for Gen3.
09:33 < geertu> Geert will review the RZ/N1 clock driver, do more periupport analysis
09:33 < geertu> and upporting, and handle CPG/MSSR and SYSC errata.
09:34 < geertu> C) Problems we have currently:
09:34 < geertu> Morimoto-san wants more periject feedback.
09:34 < geertu> Anything I missed?
09:35 < Marex> geertu: I did some gen3 JTAG digging yesterday
09:35 < Marex> geertu: on S-X, I observe the problem that reset halt doesn't halt the platform, I want to dig deeper at some point
09:36 < geertu> Marex: Halt is implemented by the BD9571
09:36 < Marex> this would help me restore U-Boot on those platforms over JTAG, which in turn would be useful for U-Boot CIing
09:36 < Marex> geertu: reset halt in OpenOCD is what I mean
09:36 < geertu> Marex: what's is it supposed to do then?
09:37 < Marex> geertu: reset the CPU core and stop execution at the reset vector
09:37 < dammsan> could be power domain related
09:38 < Marex> dammsan: possibly, or it'll need similar funny hack as Gen2 (although I tried that and it didnt immediatelly work)
09:38 < Marex> like I said, I need to dig deeper
09:40 < geertu> OK, keep up the good work!
09:40 < dammsan> Marex: will you be able to look into OpenOCD support while you have physical board access in Tokyo?
09:40 < dammsan> in case it is applicable
09:40 < Marex> dammsan: I have physical Gen3 board here :-)
09:41 < Marex> dammsan: I can look into it now if it's desired
09:41 < dammsan> actually i was thinking of gen2 more
09:41 < Marex> dammsan: Gen2 JTAG is fine, Gen3 has this reset issue and isn't upstream
09:41 < dammsan> fore more complete support
09:41 < Marex> dammsan: Gen2 is partly upstream, board support is submitted and pending application, will be in OpenOCD 0.11 according to latest intel
09:42 < dammsan> cool
09:42 < dammsan> shall i bring e2 silk? =)
09:42 < Marex> if you want more Gen2 boards in OpenOCD, sure, why not :)
09:42 < Marex> dammsan: I have E2 silk on my desk and the board support is submitted, hehe
09:42 < dammsan> alright then i will shut up
09:42 < dammsan> let me know if you need some board
09:43 < Marex> http://openocd.zylin.com/#/c/4532/
09:43 < Marex> dammsan: Silk, Porter, Stout are submitted, just let me know what other board you want in :-)
09:43 < kbingham> Marex, Did you post the Gen3? Or are you letting thinkfat handle that ?
09:45 < Marex> kbingham: thinkfat said he will post it, but I'd like to keep an eye on that
09:45 < Marex> kbingham: plus, there's the reset halt issue which I'd like to have fixed
09:46 < kbingham> Marex, halt-reset won't affect me as much - as I want to debug running systems - not necesarily boot it :) anyway - topic for another day :D
09:46 < Marex> kbingham: I mostly want to use that JTAG to start minimon without flipping the MD switches
09:46 < dammsan> Marex: wheat and maybe gose would be nice
09:46 < Marex> kbingham: that'd be real convenient for restoring U-Boot
09:47 < Marex> dammsan: ha, I dont think we support wheat in U-Boot (!), so that's another topic
09:47 < dammsan> would be good to fix
09:47 < Marex> jupp, and probably easy
09:47 < dammsan> i suppose blanche is missing as well then
09:48 < Marex> blanche is there
09:48 < Marex> but I think anything Gen2 but porter/stout/silk is broken in U-Boot to some degree
09:48 < Marex> Porter was before I fixed it, so was Silk
09:49 < Marex> so maybe a round of testing on all things wouldn't hurt
09:49 < dammsan> inndeed
09:50 < Marex> plus, test automation for U-Boot, that's something I'm cobbling together in my spare time
09:50 < Marex> the test.py framework is there, I just need some sort of board control and connector to dammsan 's farm for that
09:50 < Marex> to be done
09:51  * Marex stops talking, talks too much anyway
09:51  * uli___ has to take out the trash, brb
09:51 < geertu> Managing trash is a very important task in our society!
09:52 < geertu> uli___: CU!
09:52 < geertu> Topic 2. Discussion Topics
09:52 < geertu> a. Should we implement platform_driver.shutdown() on each device driver
09:52 < geertu>    (especially for master IPs)?
09:52 < geertu> This is a question from BSP team, relayed through Shimoda-san
09:53 < geertu> Apparently Morimoto-san will steal the show and explain the rationale behind it?
09:53 < shimoda_cloud> Morimoto-san had a related question. but he can reply by himself :)
09:53 < shimoda_cloud> but, I'd still would like to get your opinion about this topic
09:54 < dammsan> yes?
09:54 < geertu> What's the use case? What do you want to do in .shutdown()?
09:55  * geertu tries to keep computers running all the time ;-)
09:55 < shimoda_cloud> background: If Linux system reboots, IPL do that.
09:56 < geertu> shimoda_cloud: What do you mean with "IPL do that"?
09:56 < shimoda_cloud> if IPL changes the DDR setting to "self refresh" and a master IPs are still running, the HW causes to access DDR
09:56 < shimoda_cloud> greetu: Gen3 ATR will access PMIC to reboot, IIUC
09:57 < shimoda_cloud> in this case, Gen3 SoCs will stuck because the DDR is in self refresh mode
09:57 < shimoda_cloud> To stop the HW, BSP team decide to add .shutdown ops to the DU driver
09:58 < geertu> BTW, what's ATR? ATF?
09:58 < shimoda_cloud> But, BSP team would like to know all drivers should have same way or not.
09:59 < shimoda_cloud> geertu: oops, ATF (arm-trusted-firmware)
09:59 < Marex> shimoda_cloud: what problem are you trying to solve by this ?
10:00 < dammsan> bus mastering devices are still running when firmware is entering self refresh
10:00 < Marex> ah
10:00 < shimoda_cloud> Marex: I'm not trying to solve this now. But, I'd like to give BSP team about upstream team's policy
10:00 < dammsan> the subsystem is not involved somehow?
10:00 < shimoda_cloud> dammsan: thanks for simple explanation :)
10:01 < dammsan> np
10:01 < geertu> And devices aren't stopped elseway before reboot?
10:02 < shimoda_cloud> geertu: indeed
10:03 < Marex> shouldnt the reboot put the system into defined state ?
10:03 < Marex> q2: doesnt the dram enter self-refresh only during suspend ?
10:03 < Marex> bbiab
10:03 < shimoda_cloud> dammsan: i checked roughly yesterday, but the subsystem doesn't have any solutions, I think
10:04 < geertu> Devices are suspended during system reboot
10:04 < geertu> Ah, DU doesn't have Runtime PM support yet?
10:06 < pinchartl> geertu: DU has complex clock handling requirements
10:06 < geertu> E.g. for sh_eth on Koelsch, genpd_stop_dev() is called before reboot (I still have some local debug code that tells me)
10:06 < pinchartl> runtime PM is not on the high priority list
10:06 < dammsan> that would make sense
10:06 < geertu> pinchartl: I know ;-)
10:07 < shimoda_cloud> geertu: thanks for the information about Runtime PM. This is easy to know which drivers needs for .shutdown()
10:08 < shimoda_cloud> s/needs for/needs/
10:08 < dammsan> shimoda_cloud: is Runtime PM BSP-first?
10:09 < dammsan> the dependencies between different DU devices seem quite complex to me
10:11 < shimoda_cloud> dammsan: IIUC, almost all drivers have already supported Runtime PM
10:12 < geertu> The DU node in DT also doesn't have a power-domains property.
10:12 < dammsan> it would be good to fix that
10:13 < shimoda_cloud> some drivers (e.g. ehci-platform) lack Runtime PM though...
10:13 < geertu> Yep, separate device nodes for each channel, linked with "companion" properties
10:13 < dammsan> can't we have bus notifier in soc code to handle PM in such case?
10:16 < dammsan> BUS_NOTIFY_BIND_DRIVER
10:16 < dammsan> and a white list
10:16 < geertu> dammsan: That feels like the legacy clock domain to me...
10:16 < dammsan> as a temporary solution
10:16 < dammsan> might be better
10:17 < dammsan> i guess fixing up DT can be separated from actual SW implementation
10:18 < geertu> We've slowly entered MultiMedia space...
10:18 < pinchartl> let me know when you'll have fully entered multimedia space and I'll take over :-)
10:19 < geertu> I think we have, unless there's another core topic to discuss?
10:19 < pinchartl> (you have 60s, the tea water is heating up)
10:19 < shimoda_cloud> thanks! I have no core topic from my side
10:20 < kbingham> Except I was going to ask about DMAC virtualisation :)
10:20 < pinchartl> (which always reminds me of the 御茶ノ水 metro station in Tōkyō)
10:21 < pinchartl> kbingham: please go ahead
10:21 < dammsan> kbingham: seems like an important topic
10:22 < kbingham> dammsan, geertu: mainly - what's the method of use-case testing.
10:22 < dammsan> sertest inside the guest using a loopback? =)
10:22 < dammsan> not sure if it makes sense
10:23 < kbingham> dammsan, From multiple guests ?
10:23 < dammsan> i think testing a single guest is enough, but designing code for multi-guest
10:24 < kbingham> Ok so just exposing two serial devices into the guest - which then have a loopback.
10:24 < dammsan> for instance
10:24 < geertu> kbingham: That needs wiring.
10:24 < kbingham> geertu, It's the wiring that confuses me ...
10:24 < dammsan> something very basic is also ok with me
10:24 < geertu> Can't you just use the second serial port (debug serial)
10:25 < geertu> Tie it to USB, and you can talk to it from the host
10:25 < dammsan> that seems even better
10:25 < kbingham> as the serial ports on salvatorx are USB gadgets :)
10:25 < kbingham> Ok - so just take the serial and use it as a serial device :)
10:25 < kbingham> (as a usb serial device)
10:26 < geertu> Once it works, you can use that serial as the console for the guest
10:26 < geertu> And wire it up in your farm ;)
10:27 < dammsan> it is hard to beat virsh console
10:27 < dammsan> but hey
10:28 < dammsan> using the second debug serial console sounds great
10:28 < dammsan> if it supports SYS-DMAC that is
10:28 < kbingham> Is USB already supported through the guest ?
10:28 < kbingham> Or does it just do high level USB passthrough ...
10:29 < geertu> kbingham: Use USB on the host, please ;-)
10:29 < kbingham> (or in your test, do you mean then read the 'guest serial' on the 'host USB serial'
10:29 < kbingham> Ok - that's clearer - I thought this was some loopback out of the guest, then back into the guest.
10:30 < kbingham> Ok - well until I dive in and hit problems that's enough for me :)
10:30 < geertu> kbingham: You can also run https://github.com/geertu/sertest on the guest, and on the host
10:31 < geertu> guest=SCIF1 host=cp210x-usb-serial
10:32 < kbingham> geertu, Thanks for the sertest link - I'll get that going too.
10:33 < kbingham> Final question - was it left that I am writing the task description?
10:34  * kbingham was expecting to receive a description ... but that may not be the case
10:34 < geertu> I think so
10:34 < kbingham> geertu, Ok - I'll pull something together and run it past you.
10:34 < geertu> kbingham: Thanks!
10:35 < dammsan> thanks guys
10:35 < geertu> pinchartl: FFWD to MM?
10:35 < geertu> Thaks for joininh, and have a nice continued day!
10:35 < geertu> s/joininh/joining/