Dennis YC Hsieh
23c22299cd
soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
...
Add clear parameter to let client decide if
event should be clear to 0 after GCE receive it.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org >
Link: https://lore.kernel.org/r/1594136714-11650-9-git-send-email-dennis-yc.hsieh@mediatek.com
[mb: fix commit message]
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:39 +02:00
Dennis YC Hsieh
946f1792d3
soc: mediatek: cmdq: add jump function
...
Add jump function so that client can jump to any address which
contains instruction.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-8-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:38 +02:00
Dennis YC Hsieh
88a2ffc48d
soc: mediatek: cmdq: add write_s_mask value function
...
add write_s_mask_value function in cmdq helper functions which
writes a constant value to address with mask and large dma
access support.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-7-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:36 +02:00
Dennis YC Hsieh
1af43fce81
soc: mediatek: cmdq: add write_s value function
...
add write_s function in cmdq helper functions which
writes a constant value to address with large dma
access support.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-6-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:35 +02:00
Dennis YC Hsieh
d3b04aab06
soc: mediatek: cmdq: add read_s function
...
Add read_s function in cmdq helper functions which support read value from
register or dma physical address into gce internal register.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-5-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:34 +02:00
Dennis YC Hsieh
11c7842d41
soc: mediatek: cmdq: add write_s_mask function
...
add write_s_mask function in cmdq helper functions which
writes value contains in internal register to address
with mask and large dma access support.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-4-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:32 +02:00
Dennis YC Hsieh
5f6e560c2d
soc: mediatek: cmdq: add write_s function
...
add write_s function in cmdq helper functions which
writes value contains in internal register to address
with large dma access support.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-3-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:31 +02:00
Dennis YC Hsieh
2b8cf38343
soc: mediatek: cmdq: add address shift in jump
...
Add address shift when compose jump instruction
to compatible with 35bit format.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Reviewed-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1594136714-11650-2-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-09-25 17:27:26 +02:00
Dennis YC Hsieh
7de796cac4
soc: mediatek: cmdq: add set event function
...
Add set event function in cmdq helper functions to set specific event.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1592749115-24158-12-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-06-22 13:21:00 +02:00
Dennis YC Hsieh
995818588b
soc: mediatek: cmdq: export finalize function
...
Export finalize function to client which helps append eoc and jump
command to pkt. Let client decide call finalize or not.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org >
Link: https://lore.kernel.org/r/1592749115-24158-9-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-06-22 13:12:46 +02:00
Dennis YC Hsieh
613c2e2c7e
soc: mediatek: cmdq: add assign function
...
Add assign function in cmdq helper which assign constant value into
internal register by index.
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Link: https://lore.kernel.org/r/1592749115-24158-3-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-06-22 13:03:05 +02:00
Dennis YC Hsieh
34c4e40726
soc: mediatek: cmdq: return send msg error code
...
Return error code to client if send message fail,
so that client has chance to error handling.
Fixes: 576f1b4bc8
("soc: mediatek: Add Mediatek CMDQ helper")
Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Link: https://lore.kernel.org/r/1583664775-19382-6-git-send-email-dennis-yc.hsieh@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-05-16 19:55:50 +02:00
Bibby Hsieh
ce35e21d82
soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper
...
Mediatek CMDQ driver have a mechanism to do TXDONE_BY_ACK,
so we should set knows_txdone.
Fixes:576f1b4bc802 ("soc: mediatek: Add Mediatek CMDQ helper")
Cc: stable@vger.kernel.org # v5.0+
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-02-14 11:13:25 +01:00
Matthias Brugger
9c26abeb86
Merge branch 'v5.5-next/cmdq-stable' into v5.5-next/soc
2020-01-10 11:00:45 +01:00
Matthias Brugger
949601a71a
soc: mediatek: cmdq: delete not used define
...
Define CMDQ_EOC_CMD was actually never used. Delete it.
Signed-off-by: Matthias Brugger <mbrugger@suse.com >
Reviewed-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-01-10 11:00:36 +01:00
Bibby Hsieh
d412f18c9b
soc: mediatek: cmdq: add cmdq_dev_get_client_reg function
...
GCE cannot know the register base address, this function
can help cmdq client to get the cmdq_client_reg structure.
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Reviewed-by: Houlong Wei <houlong.wei@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-01-08 12:59:57 +01:00
Bibby Hsieh
b2ff2356bf
soc: mediatek: cmdq: add polling function
...
add polling function in cmdq helper functions
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-01-08 12:59:53 +01:00
Bibby Hsieh
5c8b718c5a
soc: mediatek: cmdq: define the instruction struct
...
Define an instruction structure for gce driver to append command.
This structure can make the client's code more readability.
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-01-08 12:59:45 +01:00
Bibby Hsieh
01d1b408ec
soc: mediatek: cmdq: remove OR opertaion from err return
...
Debugging gets harder if we OR two error return values.
Return each error on it's own instead
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
[mb: rephrase commit message]
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2020-01-08 12:59:41 +01:00
Bibby Hsieh
47b6b604b2
soc: mediatek: cmdq: fixup wrong input order of write api
...
Fixup a issue was caused by the previous fixup patch.
Fixes: 1a92f98912
("soc: mediatek: cmdq: reorder the parameter")
Link: https://lore.kernel.org/r/20191127165428.19662-1-matthias.bgg@gmail.com
Cc: <stable@vger.kernel.org >
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
Signed-off-by: Olof Johansson <olof@lixom.net >
2019-12-05 10:10:58 -08:00
Bibby Hsieh
556030f060
soc: mediatek: cmdq: change the type of input parameter
...
According to the cmdq hardware design, the subsys is u8,
the offset is u16 and the event id is u16.
This patch changes the type of subsys, offset and event id
to the correct type.
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2019-08-23 14:06:48 +02:00
Bibby Hsieh
1a92f98912
soc: mediatek: cmdq: reorder the parameter
...
The order of gce instructions is [subsys offset value]
so reorder the parameter of cmdq_pkt_write_mask
and cmdq_pkt_write function.
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Reviewed-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2019-08-23 14:03:56 +02:00
Houlong Wei
576f1b4bc8
soc: mediatek: Add Mediatek CMDQ helper
...
Add Mediatek CMDQ helper to create CMDQ packet and assemble GCE op code.
Signed-off-by: Houlong Wei <houlong.wei@mediatek.com >
Signed-off-by: HS Liao <hs.liao@mediatek.com >
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com >
2018-12-02 20:46:10 +01:00