summaryrefslogtreecommitdiff
path: root/wiki/Chat_log/20161122-core-chatlog
blob: 60c25b8f817bf16827ebc245359ad2f64d4c4604 (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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
Core-chat-meeting-2016-11-22

09:05 < geertu> Welcome to today's Core Group Meeting!
09:05 < geertu> Agenda:
09:05 < geertu> 1. Status updates
09:05 < geertu> 2. CPG/MSSR reset support
09:05 < geertu> 3. R-Car DMAC transfer termination synchronization support
09:05 < geertu> 4. Shared GPIOs
09:05 < geertu> 5. BSP GPIO question
09:05 < geertu> Topic 1. Status updates
09:05 < geertu> A) What have I done since last time
09:05 < geertu> B) What I plan to do till next time
09:06 < geertu> C) Problems I have currently
09:06 < geertu> First is Ulrich.
09:06 < geertu> -ENODEV
09:06 < geertu> Second is Simon
09:07 < horms> Status:
09:07 < horms> A) What have I done since last time
09:07 < horms> * No core task at this time
09:07 < horms> B) What I plan to do till next time
09:07 < horms> * See above
09:07 < horms> C) Problems I have currently
09:07 < horms> * Push back from Olof on pull-requests: under discussion with him
09:07 < horms> * Gen3 Suspend-to-RAM: What are the next steps (same as last time)
09:07 < horms> -- end --
09:07 < geertu> I think the next step is
09:07 < geertu> r8a7796,?,noplan,?,Investigate suspend-to-idle
09:07 < horms> got it
09:08 < geertu> About Olof, looks like he was not very responsive yesterday?
09:08 < horms> yes
09:09 < horms> i am concerned that he may continue to be unresponsive
09:09 < horms> and drivers + arm32 will simply not be included in v4.10
09:09 < horms> to be frank, not responsinve is the normal mode of operation
09:09 < geertu> And every user who wants to use soc_device_match() in v4.11 will have to import an immutable branch?
09:10 < geertu> Let's wait and see?
09:10 < horms> I think wating a little is resonable
09:10 < horms> but I also think we need to consider what plan B should look like
09:10 < horms> that doesn't need to be discussed in this meeting
09:11 < geertu> Looks like there will be an -rc8, so more time left
09:11 < geertu> Thanks Simon.
09:11 < geertu> Next is Shimoda-san
09:11 < shimoda> yes
09:11 < shimoda> A) B) nothing
09:12 < shimoda> C) I would like to use soc_device_match() for xhci-rcar to supprt H3 ES2.0
09:12 < shimoda> EOT
09:12 < shimoda> s/supprt/support/
09:12 < geertu> According to the latest updates to rel/todo, H3 ES2.0 is expected to arrive on 2017-02-31?
09:13 < shimoda> geertu: yes
09:13 < geertu> Or is that the target date of the working software support?
09:13 < pinchartl> geertu: if the hardware really arrives on 2017-02-31 then we'll have to wait a looooong time
09:14 < shimoda> it is arrive date of the hardware
09:14 < shimoda> pinchartl: indeed...
09:15 < geertu> I understand Tokyo is already writing support for it?
09:15 < pinchartl> any chance it could arrive on 2017-02-28, or 2017-03-03 instead ? :-)
09:16 < horms> pinchartl: its timeless hardware
09:16  * geertu hadn't noticed the invalid date ;-)
09:16 < morimoto> or un-exist hardware ?
09:17 < geertu> Ok, we'll handle it as soon as it arrives, i.e. on Feb. 32.
09:17 < geertu> Thanks Shimoda-san.
09:17 < geertu> Next is Niklas
09:17 < neg> A) PFC drive-strength and bias setting for none-GPIO pins on r8a7795 and r8a7796 posted
09:17 < neg> B) Nothing planed yet, keep talking to Geert and try to find a suitable core task :-)
09:17 < neg> C) None
09:17 < neg> EOT
09:18 < horms> neg: what if any issues are there with drive strength on Gen3?
09:19 < geertu> We still have to enable drive strength for ravb in the .dts, right?
09:20 < neg> horms: I have not seen any issues, on r8a7795 there where none GPIO pins missing in the driver
09:20 < neg> geertu: yes
09:20 < horms> neg: thanks
09:21 < geertu> neg: Will you handle the .dts part?
09:22 < geertu> Probably it'll have a hard dependency on the pfc driver updates (hi Olof ;-)
09:22 < neg> geertu: yes, I was waiting for all PFC parts to be picked up first but then I will
09:23 < horms> any chance the PFC (driver) parts can be included in v4.10?
09:23 < geertu> neg: It wouldn't hurt to have it in renesas-drivers (not today, though)
09:23 < geertu> horms: For r8a7795, it will (cfr. pinctrl/for-next)
09:24 < geertu> I don't plan to send any more clk/pinctrl pull request for v4.10, though.
09:24 < horms> ok, thenk the DT portion could go into v4.11, right?
09:24 < geertu> Yep.
09:24 < horms> a related question. how late in the cycle does LinusW take (PFC) patches?
09:25 < geertu> Or late v4.10 (as in: example for a bug fix needed for people doing their own boards and boot loaders)
09:25 < neg> geertu: yes, I will have it ready for next weeks renesas-drivers, you and Laurent have reviewd the PFC driver so it should be OK for .dts now
09:25 < geertu> horms: I'm not so sure. Quite late, I think.
09:25 < horms> ok. of course if its a bug fix then we can submit dt changes for v4.10.
09:26 < geertu> horms: You're thinking about having drive strength for r8a7796 in v4.10, too?
09:26 < horms> I have no particular thoughts
09:26 < horms> other than that if driver changes are in version n then its easy to add dt changes to version n+1
09:27 < geertu> Yep, it's easy. The issue is if you want it earlier ;-)
09:27 < horms> s/easy/easier/
09:27 < horms> I am in no rush
09:27 < geertu> ok
09:27 < horms> sorry for giving the impression that I was
09:27 < geertu> Thanks Niklas
09:27 < geertu> Next is Morimoto-san
09:28 < morimoto> int a, b, c;
09:28 < morimoto>  
09:28 < morimoto> a = b = c = -ENOTASK;
09:28 < morimoto>  
09:28 < morimoto> return 0;
09:28 < morimoto>  
09:28 < geertu> return -EPROBE_DEFER?
09:28 < morimoto> no idea :)
09:29 < geertu> morimoto: you found the hard drive?
09:29 < morimoto> But I need to know BSP team's question answer :)
09:29 < geertu> Sure, that's a separate topic.
09:29 < morimoto> hard drive ?
09:29 < geertu> "Our team's server HDD has gone" (HDD != hard disk drive?)
09:30 < morimoto> Ahh, yes !
09:30 < morimoto> I re-start works for us :)
09:30 < geertu> Good.
09:30 < morimoto> Thanks
09:30 < geertu> morimoto: About TDSEL: Sure there must be documented HDL source code for R-Car Gen2?
09:31 < morimoto> Maybe, but I don't know
09:31 < pinchartl> geertu: s/documented //
09:31 < morimoto> HW team is busy
09:32 < geertu> OK
09:32 < pinchartl> morimoto: if we can get the HDL source we can have a look and find out :-)
09:32 < geertu> Can I include it in renesas-drivers?
09:32 < morimoto> 1) Maybe HW team doesn't give it to me
09:32 < morimoto> 2) It can't export to you guys
09:33 < morimoto> I can't export
09:33 < horms> morimoto: i think they were joking :)
09:33 < morimoto> :(
09:33  * geertu was
09:33 < geertu> THanks, Morimoto-san
09:33 < morimoto> geertu: what is "it" mean ?
09:33 < geertu> Next is Magnus
09:34 < geertu> it == HDL source
09:34 < geertu> -EJAPANESE_LESSON?
09:34 < morimoto> Ahh, of course not
09:34 < geertu> Next is Laurent
09:34 < morimoto> -EDRINKING
09:35 < pinchartl> nothing to report
09:36 < geertu> Thanks Laurent
09:36 < geertu> Next is Khiem
09:36 < geertu> -EINTR?
09:37 < geertu> Next (last) is Geert
09:37 < geertu> A) What have I done since last time - Completed SoC identifaction - Queued up RZ/G1M and RZ/G1E clock drivers, - Sent more clock and pinctrl pull requests,
09:37 < geertu> B) What I plan to do till next time - Coerce Simon into taking all MODEMR related patches, - Investigate IPMMU and Ethernet
09:37 < geertu> C) Problems I have currently - What's wrong with the IPMMU and Ethernet?
09:37 < geertu> (hm, bad formatting. should switch to .rst?)
09:38 < geertu> Anyone else who tried IPMMU and had mixed results?
09:38 < horms> For B, we need to to take into account our recent interation with Mr. Olof. Probably after the current round of bother blows over.
09:38 < pinchartl> geertu: there's "a bit" of corruption on the screen when IPMMU is enabled for the VSP/DU
09:39 < geertu> B depends on the RST series, which is going in through clk
09:39 < shimoda> pinchartl: about VSP/DU with IPMMU, did you try on M3?
09:40 < geertu> pinchartl: Corruption could explain it. I haven't dug deeper into it, but NFS root works initially, then the network stops working (on M3)
09:40 < pinchartl> shimoda: not personally, no
09:41 < neg> I have problem on H3 and VIN+IPMMU, corruption on VIN1 but not on VIN0 if I look at the video using applications but works fine in VIN->DU
09:42 < shimoda> pinchartl: i see. H3 ES1.x has an issue about ipmmu. if multiple request happens from hw, the IPMMU TLBs will currupt
09:43 < pinchartl> shimoda: that could explain it
09:43 < pinchartl> we should retest everything on M3
09:43 < shimoda> pinchartl: I think so
09:43 < geertu> Any known issues on M3?
09:45 < shimoda> geertu: about IPMMU? if so, no serious issue on M3, but some performance issues exist
09:46 < geertu> OK
09:46 < geertu> Let'
09:46 < geertu> s continue
09:46 < geertu> Topic 2. CPG/MSSR reset support
09:46 < geertu> From morimoto-san
09:46 < geertu> We would like to have MSTP::Reset feature for each devices,
09:46 < geertu> it is requested on HW user manual (maybe we don't have it ?).
09:46 < geertu> This Reset is necessary on initial time.
09:46 < geertu> First of all, who should handle it ? by Linux ? by IPL ?
09:46 < geertu> If answer was "IPL", we will ask it to BSP guys.
09:46 < geertu> If answer was linux, it can be Core topics.
09:46 < geertu> I guess it should be handled by pm_runtime_xxx() ?
09:46 < geertu> EOT
09:47 < geertu> To me, it looks like this should be handled by the CPG/MSSR driver (the old MSTP driver cannot easily be extended for that)
09:48 < pinchartl> I agree. there's a reset controller API in the kernel that can be used for this purpose
09:48 < geertu> I'm a bit puzzled by the conflicting "This Reset is necessary on initial time." and "I guess it should be handled by pm_runtime_xxx()"
09:48 < morimoto> please drop last comment
09:48 < geertu> It's still a bit unclear how this is supposed to be used.
09:48 < morimoto> it is just my opinion
09:48 < geertu> OK
09:49 < geertu> From a quick look, drivers call into the reset controller API when they want to reset a module?
09:49 < geertu> But that means the driver for the module is in control, why we need reset for all modules on initial time?
09:49 < geertu> Also, what does the "HW user manual" say?
09:50 < pinchartl> could "initial time" mean "probe time" ?
09:51 < geertu> Possibly.
09:52 < geertu> Or "resume" time? (with "DDR backup" in the BSP)
09:52 < morimoto> Above my comment (= pm_runtime_xxx) was based on every "use time"
09:52 < geertu> If this is a common requirement, it would be good to handle it in common infrastructure, and not in each individual driver (cfr. PM domains)
09:53 < geertu> morimoto: Note that each time you reset the module, all registers are changed to their reset values
09:54 < morimoto> Yes, I know. Each driver shouldn't assume it can keep register settings IMO
09:56 < geertu> If you reset the module on every pm_runtime_get_sync(), you have to restore all registers all the time, which will kill performance
09:57 < morimoto> But it is necessary if you want to support Suspend/Resume.
09:57 < morimoto> Suspend will kill Power, and all register value will gone
09:57 < geertu> If "reset on initial time" is the only thing we need, then the CPG/MSSR driver could reset each module the first time its clock is enabled.
09:58 < geertu> morimoto: Sure, but that doesn't mean we have to do it in every pm_runtime_get_sync(), only when resuming.
09:58 < morimoto> Current R-Car doesn't have PowerDomain, so maybe yes. But if SoC has PowerDomain, it needs
09:59 < geertu> If Suspend kills power, we have to reset the module after resume, too?
09:59 < morimoto> If SoC has PowerDomain, and if no user exist, module power will be killed
10:01 < pinchartl> Gen3 has power domains
10:01 < geertu> Yes, and we already have to handle that in drivers shared with SH/R-Mobile, which does have power domaains
10:02 < geertu> Still, it would be good to know what the "HW user manual" says... Is that document available?
10:02 < morimoto> About Reset, maybe it is needed on Probe time, and resume time.
10:02 < morimoto> My pm_runtime_xxx is related a little bit different topic
10:02 < pinchartl> one concern I have with resetting modules is that the secure firmware might poke with some (possibly undocumented) registers after resume. if we then reset the modules, things might start breaking
10:03 < geertu> Can't the secure firmware prevent us from resetting some modules?
10:05 < pinchartl> indeed it can
10:06 < geertu> I think we need to know more of the "why" behind this request. We've been living without resetting modules for many years.
10:07 < pinchartl> for some modules, though, it would be useful, if only as a workaround
10:07 < pinchartl> for instance the VSP sometimes fail to stop
10:07 < pinchartl> that's most likely cause by a driver bug
10:07 < geertu> OK. That reset under driver control.
10:07 < geertu> Not "This Reset is necessary on initial time"
10:07 < pinchartl> but the failure can be detected, and a module reset could potentially be helpful
10:07 < geertu> s/That/That's/
10:08 < pinchartl> correct, although I wouldn't mind being able to reset moduls at probe time, to wipe off crazy configurations applied by the boot loader :-)
10:08 < pinchartl> that problem should of course ideally be fixed in the boot loader, which shouldn't apply crazy configurations in the first place
10:08 < geertu> Well, drivers should not make assumptions about the boot loader, and initialize all registers anyway?
10:10 < morimoto> geertu: not all, but some deivce was indicated on datasheet.
10:10 < pinchartl> it's easily to overlook a register whose reset default value is fine
10:10 < morimoto> For example SATA, can you see v0.52 manual, 72.3.10 ?
10:12 < pinchartl> morimoto: I think that what we'd like to know is whether some modules require a reset (as in the module will fail in more or less subtle ways if it's not reset) or if it's more of a good practice rule that would make the BSP team sleep better at night
10:13 < pinchartl> or, to put it differently, what are the problems that will be fixed by resetting modules ?
10:14 < geertu> Exactly.
10:14 < morimoto> SATA, Thermal are indicated on datasheet, Sound was indicated on Application manual
10:14 < geertu> The flow chart in 72.3.10 is indeed interesting
10:14 < morimoto> The reason why BSP team needs it is because it is indicated on datasheet :(
10:15 < geertu> 1. It refers to SASRSTECR (unfortunately in graphical form, so a text search won't find it)
10:15 < geertu> 2. The corresponding CPG/MSSR sections says: This register is functional safety use only. Keep initial value
10:15 < geertu> ???
10:16 < horms> morimoto: I understand that the BSP team wants to comply with the documentation. But in my experience some kind of run-time behaviour enhancment/fix/... helps to motivate changes in mainline
10:18 < morimoto> horms: do you mean, "because it was indicated on datasheet" is not good reason ?
10:18 < horms> i mean it would be easier from a mainline point of view if that was not the only reason
10:21 < geertu> I think we should move on to the next topic...
10:21 < geertu> Topic 3. R-Car DMAC transfer termination synchronization support
10:21 < geertu> From Morimoto-san:
10:22 < geertu> BSP team has rcar-dmac issue. Laurent posted its patch last year, but it was
10:22 < geertu> canceled. because it needed new frame-work.
10:22 < geertu> https://patchwork.kernel.org/patch/7175381/
10:22 < geertu> Now, upstream has it. It can be next Core group Task ?
10:22 < geertu> b36f09c3c441a6e59eab9315032e7d546571de3f
10:22 < geertu> ("dmaengine: Add transfer termination synchronization support")
10:22 < geertu> EOT
10:22 < geertu> Is there anything to discuss, or just a task to add?
10:22 < morimoto> pinchartl: can you explain ?
10:23 < pinchartl> the BSP patch was waiting for the hardware to complete all transactions when terminating them
10:24 < pinchartl> but the termination function was sometimes called from non-sleepable contexts, so I nacked the patch
10:24 < pinchartl> now the DMA engine API has support for synchronous and asynchronous termination
10:24 < pinchartl> so we can implement the feature
10:25 < morimoto> it can be 17Q1 task ?
10:26 < geertu> I think so
10:27 < morimoto> Nice. BSP team (or customer) needs it
10:27 < geertu> Topic 4. Shared GPIOs
10:27 < geertu> From Laurent: For key + LED operation
10:27 < pinchartl> Linus isn't against the idea
10:28 < pinchartl> all we need is someone to implement it
10:28 < pinchartl> neg: did you say you were looking for a core task ? :-)
10:28 < geertu> I think he already has an option on "GPIO-RCAR,?,noplan,?,Fix Runtime PM with GPIO interrupts (depends on irqchip PM)
10:29 < pinchartl> shared GPIOs might not be the most urgent one though, but it's nice for our upstream PR to drive API and framework changes
10:29 < geertu> Well said ;-)
10:30 < geertu> I'll add a task to core/todo
10:30 < geertu> Topic 5. BSP GPIO question
10:30 < horms> fwiw, i am for such activities
10:30 < geertu> shimoda: Any last minute info?
10:30 < neg> I happy to work on either of them :-)
10:32 < shimoda> unfotunately, i don't receive the detail so we can skip it :)
10:32 < shimoda> i'll forward it by email laster
10:32 < geertu> OK, thanks
10:32 < shimoda> s/laster/later/
10:32 < geertu> Anything else to add?
10:34 < neg> Have we settled on next face to face core meeting to be at FOSDEM timing?
10:34 < geertu> Well, looks like Magnus wants to evade by arriving late? ;-)
10:35 < geertu> Probably it'll happen on Friday (half a day shared with I/O)
10:35 < horms> geertu: any thoughts on Olof's idea regarding pfc/Kconfig?
10:36 < geertu> horms: I still have to reply why it's a bad idea
10:36 < horms> ok
10:36 < horms> fwiw, i think its a can of worms
10:37 < pinchartl> geertu: Friday before the FOSDEM ?
10:37 < geertu> pinchartl: yep
10:37 < pinchartl> I'll be there
10:37 < geertu> OK
10:37 < geertu> Thanks for joining, and have a nice continued day!
10:38 < pinchartl> I mean, at least in Belgium :-)
10:38 < neg> I only asked so i can buy tickets before my financial year ends :-) I will be there
10:38 < geertu> horms: Bummer, forgot to email sfr yesterday
10:38 < horms> I also expect to be there
10:39 < horms> geertu: I for one was distracted
10:57 < morimoto> I guess chat meeting was finished ?
10:57 < horms> I guess so too
10:59 < neg> next meeting in 2 weeks, same time?
10:59 < geertu> Yes, that's the plan. Will send the report later
10:59 < morimoto> Today is started on EuroPeri side, but Today will finish on Japan side. So, please finalize meeting if it was finished. Otherwise we can't go back :P
11:00 < geertu> (repeat) Thanks for joining, and have a nice continued day!