>>> Li, Shaohua пишет: >>>> Hi, >>>> Preempt isn't disabled between ec_burst_enable()/ec_burst_disable(), >so >>> it's very likely there is a preemption between them and make the timing >>> for burst mode not comply with ACPI spec (400ms for first access and >50ms >>> for subsequent access). >>>> We have a system with broken EC and the BIOS engineer identified it's >>> the timing issue. >>>> What's the judgment why Linux doesn't comply with ACPI spec? >>> Please disable ec_burst_* and check again. Judgement is that ec_burst_* >is >>> irrelevant to the protocol. >> What did you about 'irrelevant to the protocol'? This is what the spec >defines. >I mean, that EC may drop out of burst mode if timeout happens, and it >should not change >the flow of reads and writes to EC (the protocol). More, EC should work >properly even if >we do not enter burst mode at all (my suggestion to disable calls to burst >functions). >> >>> What platform and what other symptoms do you have? How exactly this EC >is >>> broken? >> The temperature is wrong when we get it from reading EC. The BIOS >engineer measured >> A lot of EC timeout in EC firmware, and they measured the timing how >Linux accesses >> EC. The data they captured in oscilloscope shows Linux has long delay to >access >> Ec with burst mode enabled, this occurs more often when another >application is running. >Do they have any document about implemented EC timeouts? State diagram? >Other than burst timeout, do they have any other timeouts? What happens if >they get timeout, do they abort transaction? What do they write in status >register? >Do they send GPE? Please collect as much as you can, I was looking for >such info for a very long time. They said if burst timeout, then a GPE will fire. OS should check the burst bit in status reg to know if EC is in burst mode. If not, os might reissue burst enable as a retry. They don't have any document to share with us. If you have other questions, please let me know, but please give detail questions so I can forward them to EC firmware engineer. This is a good chance for us to make EC better. Thanks, Shaohua ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f