linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] firmware: qcom_scm: Fix SMCCC detection on sc7180
@ 2021-02-23 21:45 Stephen Boyd
  2021-02-23 21:45 ` [PATCH 1/6] firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool Stephen Boyd
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Stephen Boyd @ 2021-02-23 21:45 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: linux-kernel, linux-arm-msm, Elliot Berman, Brian Masney,
	Stephan Gerhold, Jeffrey Hugo, Douglas Anderson

The firmware that ships on sc7180 devices doesn't implement the smc call
that tells the kernel what calling convention is available. Instead, the
firmware returns an error code indicating the call isn't implemented
(that makes my head spin). To smooth things out here let's implement a
small workaround that checks the scm compatible string so we can force
the arm64 calling convention. This series also includes some fixes for
the "is call available" API because it doesn't seem to be used properly,
a documentation fix noticed while reading through the code, and
suppression of sysfs bind attributes to save us from rouge driver
removal.

Finally, the last patch is sort of an RFC, but I'd like to merge that
too so we can kick out the legacy API entirely on arm64 kernels. As far
as I know it isn't used so we can save some bytes by not compiling it or
using it unless the architecture is ARM. Let me know what you think.

Cc: Elliot Berman <eberman@codeaurora.org>
Cc: Brian Masney <masneyb@onstation.org>
Cc: Stephan Gerhold <stephan@gerhold.net>
Cc: Jeffrey Hugo <jhugo@codeaurora.org>
Cc: Douglas Anderson <dianders@chromium.org>

Stephen Boyd (6):
  firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool
  firmware: qcom_scm: Reduce locking section for __get_convention()
  firmware: qcom_scm: Workaround lack of "is available" call on SC7180
  firmware: qcom_scm: Suppress sysfs bind attributes
  firmware: qcom_scm: Fix kernel-doc function names to match
  firmware: qcom_scm: Only compile legacy calls on ARM

 drivers/firmware/Makefile          |   4 +-
 drivers/firmware/qcom_scm-legacy.c | 137 ++++++++++++++++-
 drivers/firmware/qcom_scm-smc.c    |  12 +-
 drivers/firmware/qcom_scm.c        | 234 +++++++----------------------
 drivers/firmware/qcom_scm.h        |  40 ++++-
 include/linux/qcom_scm.h           |  21 ++-
 6 files changed, 247 insertions(+), 201 deletions(-)


base-commit: 3b9cdafb5358eb9f3790de2f728f765fef100731
-- 
https://chromeos.dev


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-03-23 18:47 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-23 21:45 [PATCH 0/6] firmware: qcom_scm: Fix SMCCC detection on sc7180 Stephen Boyd
2021-02-23 21:45 ` [PATCH 1/6] firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool Stephen Boyd
2021-03-06  0:44   ` Bjorn Andersson
2021-02-23 21:45 ` [PATCH 2/6] firmware: qcom_scm: Reduce locking section for __get_convention() Stephen Boyd
2021-02-23 21:45 ` [PATCH 3/6] firmware: qcom_scm: Workaround lack of "is available" call on SC7180 Stephen Boyd
2021-02-23 23:38   ` Jeffrey Hugo
2021-02-23 23:46     ` Stephen Boyd
2021-02-23 21:45 ` [PATCH 4/6] firmware: qcom_scm: Suppress sysfs bind attributes Stephen Boyd
2021-02-23 21:45 ` [PATCH 5/6] firmware: qcom_scm: Fix kernel-doc function names to match Stephen Boyd
2021-02-23 21:45 ` [PATCH 6/6] firmware: qcom_scm: Only compile legacy calls on ARM Stephen Boyd
2021-03-04  3:35   ` Elliot Berman
2021-03-04  6:14     ` Stephen Boyd
2021-03-05 18:18       ` Elliot Berman
2021-03-06  6:18         ` Stephen Boyd
2021-03-07 17:42           ` Bjorn Andersson
2021-03-23  3:36             ` Stephen Boyd
2021-03-23 18:27               ` Elliot Berman
2021-03-23 18:46                 ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).