From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26A10C433DF for ; Mon, 25 May 2020 10:38:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0653B20787 for ; Mon, 25 May 2020 10:38:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="TFV31XXk" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389852AbgEYKiv (ORCPT ); Mon, 25 May 2020 06:38:51 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:46190 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2389165AbgEYKiv (ORCPT ); Mon, 25 May 2020 06:38:51 -0400 X-UUID: 2973e26015f74616917f96fbd69d82c3-20200525 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=hP4MHL5rKzsU6+cwtk/2ybNDnctT2+yEC11C/Esk5/o=; b=TFV31XXk0/x4ej3Ymtimxwcrrma9XVcGvxZz7avtFxr2/iH2tEeES+QIuID+MfsKKeiNzCmLdv5KLmXSNa/sCoWuR0hWAM/0de5El/Gpr/QlfSjJImfN/eGlNB8NexisAOeNIxltC0n1gsAvJx0rdeiI0YToMZEalf8Med1Sv+w=; X-UUID: 2973e26015f74616917f96fbd69d82c3-20200525 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1601699790; Mon, 25 May 2020 18:38:48 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 May 2020 18:38:42 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 25 May 2020 18:38:44 +0800 Message-ID: <1590403125.11988.5.camel@mtkswgap22> Subject: Re: [PATCH v5 09/13] soc: mediatek: cmdq: add write_s value function From: Dennis-YC Hsieh To: Matthias Brugger CC: Rob Herring , Mark Rutland , Jassi Brar , Philipp Zabel , David Airlie , Daniel Vetter , , , , , , Bibby Hsieh , CK Hu , Houlong Wei , , HS Liao Date: Mon, 25 May 2020 18:38:45 +0800 In-Reply-To: <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> References: <1583664775-19382-1-git-send-email-dennis-yc.hsieh@mediatek.com> <1583664775-19382-10-git-send-email-dennis-yc.hsieh@mediatek.com> <1590341462.31286.19.camel@mtkswgap22> <1590373621.31522.7.camel@mtkswgap22> <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-TM-SNTS-SMTP: 7C8ADAEBEC808D17B27E76EFF3A38C58E804BDAD7674469778D687D1892779672000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQpPbiBNb24sIDIwMjAtMDUtMjUgYXQgMTA6MzkgKzAyMDAsIE1hdHRoaWFzIEJydWdnZXIgd3Jv dGU6DQo+IA0KPiBPbiAyNS8wNS8yMDIwIDA0OjI3LCBEZW5uaXMtWUMgSHNpZWggd3JvdGU6DQo+ ID4gDQo+ID4gT24gU3VuLCAyMDIwLTA1LTI0IGF0IDIwOjEzICswMjAwLCBNYXR0aGlhcyBCcnVn Z2VyIHdyb3RlOg0KPiA+Pg0KPiA+PiBPbiAyNC8wNS8yMDIwIDE5OjMxLCBEZW5uaXMtWUMgSHNp ZWggd3JvdGU6DQo+ID4+PiBIaSBNYXR0aGlhcywNCj4gPj4+DQo+ID4+PiBUaGFua3MgZm9yIHlv dXIgY29tbWVudC4NCj4gPj4+DQo+ID4+PiBPbiBTYXQsIDIwMjAtMDUtMTYgYXQgMjA6MjAgKzAy MDAsIE1hdHRoaWFzIEJydWdnZXIgd3JvdGU6DQo+ID4+Pj4NCj4gPj4+PiBPbiAwOC8wMy8yMDIw IDExOjUyLCBEZW5uaXMgWUMgSHNpZWggd3JvdGU6DQo+ID4+Pj4+IGFkZCB3cml0ZV9zIGZ1bmN0 aW9uIGluIGNtZHEgaGVscGVyIGZ1bmN0aW9ucyB3aGljaA0KPiA+Pj4+PiB3cml0ZXMgYSBjb25z dGFudCB2YWx1ZSB0byBhZGRyZXNzIHdpdGggbGFyZ2UgZG1hDQo+ID4+Pj4+IGFjY2VzcyBzdXBw b3J0Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBEZW5uaXMgWUMgSHNpZWggPGRl bm5pcy15Yy5oc2llaEBtZWRpYXRlay5jb20+DQo+ID4+Pj4+IFJldmlld2VkLWJ5OiBDSyBIdSA8 Y2suaHVAbWVkaWF0ZWsuY29tPg0KPiA+Pj4+PiAtLS0NCj4gPj4+Pj4gIGRyaXZlcnMvc29jL21l ZGlhdGVrL210ay1jbWRxLWhlbHBlci5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysN Cj4gPj4+Pj4gIGluY2x1ZGUvbGludXgvc29jL21lZGlhdGVrL210ay1jbWRxLmggIHwgMTQgKysr KysrKysrKysrKysNCj4gPj4+Pj4gIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQ0K PiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLWNt ZHEtaGVscGVyLmMgYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstY21kcS1oZWxwZXIuYw0KPiA+ Pj4+PiBpbmRleCAwM2MxMjkyMzBjZDcuLmE5ZWJiYWJiNzQzOSAxMDA2NDQNCj4gPj4+Pj4gLS0t IGEvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLWNtZHEtaGVscGVyLmMNCj4gPj4+Pj4gKysrIGIv ZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLWNtZHEtaGVscGVyLmMNCj4gPj4+Pj4gQEAgLTI2OSw2 ICsyNjksMzIgQEAgaW50IGNtZHFfcGt0X3dyaXRlX3Moc3RydWN0IGNtZHFfcGt0ICpwa3QsIHUx NiBoaWdoX2FkZHJfcmVnX2lkeCwNCj4gPj4+Pj4gIH0NCj4gPj4+Pj4gIEVYUE9SVF9TWU1CT0wo Y21kcV9wa3Rfd3JpdGVfcyk7DQo+ID4+Pj4+ICANCj4gPj4+Pj4gK2ludCBjbWRxX3BrdF93cml0 ZV9zX3ZhbHVlKHN0cnVjdCBjbWRxX3BrdCAqcGt0LCB1MTYgaGlnaF9hZGRyX3JlZ19pZHgsDQo+ ID4+Pj4+ICsJCQkgICB1MTYgYWRkcl9sb3csIHUzMiB2YWx1ZSwgdTMyIG1hc2spDQo+ID4+Pj4+ ICt7DQo+ID4+Pj4+ICsJc3RydWN0IGNtZHFfaW5zdHJ1Y3Rpb24gaW5zdCA9IHsgezB9IH07DQo+ ID4+Pj4+ICsJaW50IGVycjsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCWlmIChtYXNrICE9IFUzMl9N QVgpIHsNCj4gPj4+Pj4gKwkJaW5zdC5vcCA9IENNRFFfQ09ERV9NQVNLOw0KPiA+Pj4+PiArCQlp bnN0Lm1hc2sgPSB+bWFzazsNCj4gPj4+Pj4gKwkJZXJyID0gY21kcV9wa3RfYXBwZW5kX2NvbW1h bmQocGt0LCBpbnN0KTsNCj4gPj4+Pj4gKwkJaWYgKGVyciA8IDApDQo+ID4+Pj4+ICsJCQlyZXR1 cm4gZXJyOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsJCWluc3Qub3AgPSBDTURRX0NPREVfV1JJVEVf U19NQVNLOw0KPiA+Pj4+PiArCX0gZWxzZSB7DQo+ID4+Pj4+ICsJCWluc3Qub3AgPSBDTURRX0NP REVfV1JJVEVfUzsNCj4gPj4+Pj4gKwl9DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKwlpbnN0LnNvcCA9 IGhpZ2hfYWRkcl9yZWdfaWR4Ow0KPiA+Pj4+DQo+ID4+Pj4gV3JpdGluZyB1MTYgdmFsdWUgaW4g YSA1IGJpdCB3aWRlIHZhcmlhYmxlPw0KPiA+Pj4NCj4gPj4+IFdlIG5lZWQgb25seSA1IGJpdHMg aW4gdGhpcyBjYXNlLiBJJ2xsIGNoYW5nZSBoaWdoX2FkZHJfcmVnX2lkeA0KPiA+Pj4gcGFyYW1l dGVyIHRvIHU4Lg0KPiA+Pj4NCj4gPj4NCj4gPj4gT2ssIHBsZWFzZSBtYWtlIHN1cmUgdG8gbWFz ayB0aGUgdmFsdWUsIHNvIHRoYXQgaXQncyBleHBsaWNpdCBpbiB0aGUgY29kZSB0aGF0DQo+ID4+ IHdlIG9ubHkgdXNlIHRoZSBsb3dlc3QgNSBiaXRzIG9mIGhpZ2hfYWRkcl9yZWdfaWR4Lg0KPiA+ IA0KPiA+IElzIGl0IG5lY2Vzc2FyeSB0byBtYXNrIHRoZSB2YWx1ZT8NCj4gPiBTaW5jZSBzb3Ag YWxyZWFkeSBkZWZpbmVkIGFzICJ1OCBzb3A6NTsiLCBJIHRob3VnaHQgaXQgaXMgZXhwbGljaXQg dGhhdA0KPiA+IG9ubHkgdXNlIDUgYml0cyBhbmQgY29tcGlsZXIgc2hvdWxkIGRvIHRoZSByZXN0 IGpvYnMuDQo+IA0KPiBZZXMgYnV0IGl0IG1ha2VzIHRoZSBjb2RlIG1vcmUgZXhwbGljaXQgaWYg d2UgaGF2ZSBhDQo+IGluc3Quc29wID0gaGlnaF9hZGRyX3JlZ19pZHggJiAweDFmOw0KPiANCj4g V2hhdCBkbyB5b3UgdGhpbms/DQoNClRoZSB2YWx1ZSBhc3NpZ24gdG8gc29wIHdpbGwgcmVzdHJp Y3QgYnkgaGFyZHdhcmUgc3BlYy4gQ2xpZW50cyBjYWxsDQp0aGlzIGZ1bmN0aW9uIHdpbGwgZGVm aW5lIGNvbnN0YW50IHZhbHVlIGFuZCB1c2UgaXQgYXMgcGFyYW1ldGVyLiBTbyBJDQp0aGluayB3 ZSBkb24ndCB3b3JyeSBhYm91dCBjbGllbnQgY2FsbCB0aGlzIGFwaSB3aXRoIHdyb25nIHZhbHVl Lg0KDQoNClJlZ2FyZHMsDQpEZW5uaXMNCg0KPiANCj4gUmVnYXJkcywNCj4gTWF0dGhpYXMNCj4g DQo+ID4gDQo+ID4gDQo+ID4gUmVnYXJkcywNCj4gPiBEZW5uaXMNCj4gPiANCj4gPj4NCj4gPj4g UmVnYXJkcywNCj4gPj4gTWF0dGhpYXMNCj4gPj4NCj4gPj4+Pg0KPiA+Pj4+PiArCWluc3Qub2Zm c2V0ID0gYWRkcl9sb3c7DQo+ID4+Pj4+ICsJaW5zdC52YWx1ZSA9IHZhbHVlOw0KPiA+Pj4+PiAr DQo+ID4+Pj4+ICsJcmV0dXJuIGNtZHFfcGt0X2FwcGVuZF9jb21tYW5kKHBrdCwgaW5zdCk7DQo+ ID4+Pj4+ICt9DQo+ID4+Pj4+ICtFWFBPUlRfU1lNQk9MKGNtZHFfcGt0X3dyaXRlX3NfdmFsdWUp Ow0KPiA+Pj4+PiArDQo+ID4+Pj4+ICBpbnQgY21kcV9wa3Rfd2ZlKHN0cnVjdCBjbWRxX3BrdCAq cGt0LCB1MTYgZXZlbnQpDQo+ID4+Pj4+ICB7DQo+ID4+Pj4+ICAJc3RydWN0IGNtZHFfaW5zdHJ1 Y3Rpb24gaW5zdCA9IHsgezB9IH07DQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L3NvYy9tZWRpYXRlay9tdGstY21kcS5oIGIvaW5jbHVkZS9saW51eC9zb2MvbWVkaWF0ZWsvbXRr LWNtZHEuaA0KPiA+Pj4+PiBpbmRleCAwMWI0MTg0YWYzMTAuLmZlYzI5MmFhYzgzYyAxMDA2NDQN Cj4gPj4+Pj4gLS0tIGEvaW5jbHVkZS9saW51eC9zb2MvbWVkaWF0ZWsvbXRrLWNtZHEuaA0KPiA+ Pj4+PiArKysgYi9pbmNsdWRlL2xpbnV4L3NvYy9tZWRpYXRlay9tdGstY21kcS5oDQo+ID4+Pj4+ IEBAIC0xMzUsNiArMTM1LDIwIEBAIGludCBjbWRxX3BrdF9yZWFkX3Moc3RydWN0IGNtZHFfcGt0 ICpwa3QsIHUxNiBoaWdoX2FkZHJfcmVnX2lkeCwgdTE2IGFkZHJfbG93LA0KPiA+Pj4+PiAgaW50 IGNtZHFfcGt0X3dyaXRlX3Moc3RydWN0IGNtZHFfcGt0ICpwa3QsIHUxNiBoaWdoX2FkZHJfcmVn X2lkeCwNCj4gPj4+Pj4gIAkJICAgICB1MTYgYWRkcl9sb3csIHUxNiBzcmNfcmVnX2lkeCwgdTMy IG1hc2spOw0KPiA+Pj4+PiAgDQo+ID4+Pj4+ICsvKioNCj4gPj4+Pj4gKyAqIGNtZHFfcGt0X3dy aXRlX3NfdmFsdWUoKSAtIGFwcGVuZCB3cml0ZV9zIGNvbW1hbmQgd2l0aCBtYXNrIHRvIHRoZSBD TURRDQo+ID4+Pj4+ICsgKgkJCSAgICAgIHBhY2tldCB3aGljaCB3cml0ZSB2YWx1ZSB0byBhIHBo eXNpY2FsIGFkZHJlc3MNCj4gPj4+Pj4gKyAqIEBwa3Q6CXRoZSBDTURRIHBhY2tldA0KPiA+Pj4+ PiArICogQGhpZ2hfYWRkcl9yZWdfaWR4OglpbnRlcm5hbCByZWdpc2dlciBJRCB3aGljaCBjb250 YWlucyBoaWdoIGFkZHJlc3Mgb2YgcGENCj4gPj4+Pg0KPiA+Pj4+IHJlZ2lzdGVyDQo+ID4+Pg0K PiA+Pj4gd2lsbCBmaXgNCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gUmVnYXJkcywNCj4gPj4+IERlbm5p cw0KPiA+Pj4NCj4gPj4+Pg0KPiA+Pj4+PiArICogQGFkZHJfbG93Oglsb3cgYWRkcmVzcyBvZiBw YQ0KPiA+Pj4+PiArICogQHZhbHVlOgl0aGUgc3BlY2lmaWVkIHRhcmdldCB2YWx1ZQ0KPiA+Pj4+ PiArICogQG1hc2s6CXRoZSBzcGVjaWZpZWQgdGFyZ2V0IG1hc2sNCj4gPj4+Pj4gKyAqDQo+ID4+ Pj4+ICsgKiBSZXR1cm46IDAgZm9yIHN1Y2Nlc3M7IGVsc2UgdGhlIGVycm9yIGNvZGUgaXMgcmV0 dXJuZWQNCj4gPj4+Pj4gKyAqLw0KPiA+Pj4+PiAraW50IGNtZHFfcGt0X3dyaXRlX3NfdmFsdWUo c3RydWN0IGNtZHFfcGt0ICpwa3QsIHUxNiBoaWdoX2FkZHJfcmVnX2lkeCwNCj4gPj4+Pj4gKwkJ CSAgIHUxNiBhZGRyX2xvdywgdTMyIHZhbHVlLCB1MzIgbWFzayk7DQo+ID4+Pj4+ICsNCj4gPj4+ Pj4gIC8qKg0KPiA+Pj4+PiAgICogY21kcV9wa3Rfd2ZlKCkgLSBhcHBlbmQgd2FpdCBmb3IgZXZl bnQgY29tbWFuZCB0byB0aGUgQ01EUSBwYWNrZXQNCj4gPj4+Pj4gICAqIEBwa3Q6CXRoZSBDTURR IHBhY2tldA0KPiA+Pj4+Pg0KPiA+Pj4NCj4gPiANCg0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C23CC433DF for ; Mon, 25 May 2020 10:49:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 31A262087D for ; Mon, 25 May 2020 10:49:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="MGM8+RDf"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="TFV31XXk" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 31A262087D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bKiuCKpQq+Bh0Y+1B096jjy9K8tV7JW1tKQN7i552Ts=; b=MGM8+RDfy7Xx2f oZQRXRHG22DEuJwG4j7L06VJ5gmvr2vZFpi6w/TOpS7cMRNOGBG/hGnUTpdopT/DgT/Sq3Xuk+ccg IwKv54or5uhkxiv9QKXAegU1cd2UdkzSf9vYfX+2k/Qr2FFZruDnwBOZNBqkMXia+SxujgoFNu481 eErl1cx4uurgmR3QAwr9bBG5NF8Bj/IhnGvze/L1I7wB4f9qiW4HmCNsgdWs8fOf+m0KbdfVCoib9 7ofkVUfotpeLGrv87iqbFA+NQB1bpA6pnL/bBJ21nsmkRZffCr/q3A+pYO0YyGXclOpSIwzFuZWW2 BmN988pusdWhEGSan5bw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jdAfY-0006ep-RX; Mon, 25 May 2020 10:49:20 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jdAfM-0006SK-0X; Mon, 25 May 2020 10:49:09 +0000 X-UUID: 287278e0d6c2438bb106d2f51e8fdd5d-20200525 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=hP4MHL5rKzsU6+cwtk/2ybNDnctT2+yEC11C/Esk5/o=; b=TFV31XXk0/x4ej3Ymtimxwcrrma9XVcGvxZz7avtFxr2/iH2tEeES+QIuID+MfsKKeiNzCmLdv5KLmXSNa/sCoWuR0hWAM/0de5El/Gpr/QlfSjJImfN/eGlNB8NexisAOeNIxltC0n1gsAvJx0rdeiI0YToMZEalf8Med1Sv+w=; X-UUID: 287278e0d6c2438bb106d2f51e8fdd5d-20200525 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 914228624; Mon, 25 May 2020 02:49:03 -0800 Received: from MTKMBS01N2.mediatek.inc (172.21.101.79) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 May 2020 03:38:58 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 May 2020 18:38:42 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 25 May 2020 18:38:44 +0800 Message-ID: <1590403125.11988.5.camel@mtkswgap22> Subject: Re: [PATCH v5 09/13] soc: mediatek: cmdq: add write_s value function From: Dennis-YC Hsieh To: Matthias Brugger Date: Mon, 25 May 2020 18:38:45 +0800 In-Reply-To: <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> References: <1583664775-19382-1-git-send-email-dennis-yc.hsieh@mediatek.com> <1583664775-19382-10-git-send-email-dennis-yc.hsieh@mediatek.com> <1590341462.31286.19.camel@mtkswgap22> <1590373621.31522.7.camel@mtkswgap22> <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-TM-SNTS-SMTP: 7C8ADAEBEC808D17B27E76EFF3A38C58E804BDAD7674469778D687D1892779672000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200525_034908_073383_1613415C X-CRM114-Status: GOOD ( 22.72 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Philipp Zabel , wsd_upstream@mediatek.com, David Airlie , Jassi Brar , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, HS Liao , Rob Herring , linux-mediatek@lists.infradead.org, Houlong Wei , Daniel Vetter , CK Hu , Bibby Hsieh , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Mon, 2020-05-25 at 10:39 +0200, Matthias Brugger wrote: > > On 25/05/2020 04:27, Dennis-YC Hsieh wrote: > > > > On Sun, 2020-05-24 at 20:13 +0200, Matthias Brugger wrote: > >> > >> On 24/05/2020 19:31, Dennis-YC Hsieh wrote: > >>> Hi Matthias, > >>> > >>> Thanks for your comment. > >>> > >>> On Sat, 2020-05-16 at 20:20 +0200, Matthias Brugger wrote: > >>>> > >>>> On 08/03/2020 11:52, Dennis YC Hsieh wrote: > >>>>> 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 > >>>>> Reviewed-by: CK Hu > >>>>> --- > >>>>> drivers/soc/mediatek/mtk-cmdq-helper.c | 26 ++++++++++++++++++++++++++ > >>>>> include/linux/soc/mediatek/mtk-cmdq.h | 14 ++++++++++++++ > >>>>> 2 files changed, 40 insertions(+) > >>>>> > >>>>> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> index 03c129230cd7..a9ebbabb7439 100644 > >>>>> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> @@ -269,6 +269,32 @@ int cmdq_pkt_write_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> } > >>>>> EXPORT_SYMBOL(cmdq_pkt_write_s); > >>>>> > >>>>> +int cmdq_pkt_write_s_value(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> + u16 addr_low, u32 value, u32 mask) > >>>>> +{ > >>>>> + struct cmdq_instruction inst = { {0} }; > >>>>> + int err; > >>>>> + > >>>>> + if (mask != U32_MAX) { > >>>>> + inst.op = CMDQ_CODE_MASK; > >>>>> + inst.mask = ~mask; > >>>>> + err = cmdq_pkt_append_command(pkt, inst); > >>>>> + if (err < 0) > >>>>> + return err; > >>>>> + > >>>>> + inst.op = CMDQ_CODE_WRITE_S_MASK; > >>>>> + } else { > >>>>> + inst.op = CMDQ_CODE_WRITE_S; > >>>>> + } > >>>>> + > >>>>> + inst.sop = high_addr_reg_idx; > >>>> > >>>> Writing u16 value in a 5 bit wide variable? > >>> > >>> We need only 5 bits in this case. I'll change high_addr_reg_idx > >>> parameter to u8. > >>> > >> > >> Ok, please make sure to mask the value, so that it's explicit in the code that > >> we only use the lowest 5 bits of high_addr_reg_idx. > > > > Is it necessary to mask the value? > > Since sop already defined as "u8 sop:5;", I thought it is explicit that > > only use 5 bits and compiler should do the rest jobs. > > Yes but it makes the code more explicit if we have a > inst.sop = high_addr_reg_idx & 0x1f; > > What do you think? The value assign to sop will restrict by hardware spec. Clients call this function will define constant value and use it as parameter. So I think we don't worry about client call this api with wrong value. Regards, Dennis > > Regards, > Matthias > > > > > > > Regards, > > Dennis > > > >> > >> Regards, > >> Matthias > >> > >>>> > >>>>> + inst.offset = addr_low; > >>>>> + inst.value = value; > >>>>> + > >>>>> + return cmdq_pkt_append_command(pkt, inst); > >>>>> +} > >>>>> +EXPORT_SYMBOL(cmdq_pkt_write_s_value); > >>>>> + > >>>>> int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event) > >>>>> { > >>>>> struct cmdq_instruction inst = { {0} }; > >>>>> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> index 01b4184af310..fec292aac83c 100644 > >>>>> --- a/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> +++ b/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> @@ -135,6 +135,20 @@ int cmdq_pkt_read_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, u16 addr_low, > >>>>> int cmdq_pkt_write_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> u16 addr_low, u16 src_reg_idx, u32 mask); > >>>>> > >>>>> +/** > >>>>> + * cmdq_pkt_write_s_value() - append write_s command with mask to the CMDQ > >>>>> + * packet which write value to a physical address > >>>>> + * @pkt: the CMDQ packet > >>>>> + * @high_addr_reg_idx: internal regisger ID which contains high address of pa > >>>> > >>>> register > >>> > >>> will fix > >>> > >>> > >>> Regards, > >>> Dennis > >>> > >>>> > >>>>> + * @addr_low: low address of pa > >>>>> + * @value: the specified target value > >>>>> + * @mask: the specified target mask > >>>>> + * > >>>>> + * Return: 0 for success; else the error code is returned > >>>>> + */ > >>>>> +int cmdq_pkt_write_s_value(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> + u16 addr_low, u32 value, u32 mask); > >>>>> + > >>>>> /** > >>>>> * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet > >>>>> * @pkt: the CMDQ packet > >>>>> > >>> > > _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7699C433DF for ; Mon, 25 May 2020 10:49:23 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 70D6420787 for ; Mon, 25 May 2020 10:49:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="C3uBziWz"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="TFV31XXk" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 70D6420787 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=tnR3vCUXAzdDFBaL3I1UqsM7hC4y4kBPfS9TNzupePc=; b=C3uBziWzXZs+in 98jXRx9lxBmSowCWVeVx2/VYoD3z9C7A9e+MvUysjIO/H+LcABRAQ5Q2B4MpdebnY/WynTyQz6R76 Y5HfWhdlnS6ghi5PxZMEmHbXGnxvY+p/qloEVdOKiOhptJ++Scq7SN1eRATqSlMFF3eAOaMTp+38h crnE5FIZlR5zif59yOK+ryD9Hy7K4OUYqP01QUrE9HCXOYNVOOuO/q2oDb/TH9uhPRH6GaTQcMN38 HJxsPaNal90BwzPHMgLWTYMiB4REhRC2CTwqOQwjPOteDBs4O5R5Rt6NYAsvAvTwCwpP81AoHIsZa 6+unAEQIRMAgdkovlY6Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jdAfa-0006gq-Pl; Mon, 25 May 2020 10:49:22 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jdAfM-0006SK-0X; Mon, 25 May 2020 10:49:09 +0000 X-UUID: 287278e0d6c2438bb106d2f51e8fdd5d-20200525 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=hP4MHL5rKzsU6+cwtk/2ybNDnctT2+yEC11C/Esk5/o=; b=TFV31XXk0/x4ej3Ymtimxwcrrma9XVcGvxZz7avtFxr2/iH2tEeES+QIuID+MfsKKeiNzCmLdv5KLmXSNa/sCoWuR0hWAM/0de5El/Gpr/QlfSjJImfN/eGlNB8NexisAOeNIxltC0n1gsAvJx0rdeiI0YToMZEalf8Med1Sv+w=; X-UUID: 287278e0d6c2438bb106d2f51e8fdd5d-20200525 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 914228624; Mon, 25 May 2020 02:49:03 -0800 Received: from MTKMBS01N2.mediatek.inc (172.21.101.79) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 May 2020 03:38:58 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 May 2020 18:38:42 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 25 May 2020 18:38:44 +0800 Message-ID: <1590403125.11988.5.camel@mtkswgap22> Subject: Re: [PATCH v5 09/13] soc: mediatek: cmdq: add write_s value function From: Dennis-YC Hsieh To: Matthias Brugger Date: Mon, 25 May 2020 18:38:45 +0800 In-Reply-To: <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> References: <1583664775-19382-1-git-send-email-dennis-yc.hsieh@mediatek.com> <1583664775-19382-10-git-send-email-dennis-yc.hsieh@mediatek.com> <1590341462.31286.19.camel@mtkswgap22> <1590373621.31522.7.camel@mtkswgap22> <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-TM-SNTS-SMTP: 7C8ADAEBEC808D17B27E76EFF3A38C58E804BDAD7674469778D687D1892779672000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200525_034908_073383_1613415C X-CRM114-Status: GOOD ( 22.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Philipp Zabel , wsd_upstream@mediatek.com, David Airlie , Jassi Brar , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, HS Liao , Rob Herring , linux-mediatek@lists.infradead.org, Houlong Wei , Daniel Vetter , CK Hu , Bibby Hsieh , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, 2020-05-25 at 10:39 +0200, Matthias Brugger wrote: > > On 25/05/2020 04:27, Dennis-YC Hsieh wrote: > > > > On Sun, 2020-05-24 at 20:13 +0200, Matthias Brugger wrote: > >> > >> On 24/05/2020 19:31, Dennis-YC Hsieh wrote: > >>> Hi Matthias, > >>> > >>> Thanks for your comment. > >>> > >>> On Sat, 2020-05-16 at 20:20 +0200, Matthias Brugger wrote: > >>>> > >>>> On 08/03/2020 11:52, Dennis YC Hsieh wrote: > >>>>> 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 > >>>>> Reviewed-by: CK Hu > >>>>> --- > >>>>> drivers/soc/mediatek/mtk-cmdq-helper.c | 26 ++++++++++++++++++++++++++ > >>>>> include/linux/soc/mediatek/mtk-cmdq.h | 14 ++++++++++++++ > >>>>> 2 files changed, 40 insertions(+) > >>>>> > >>>>> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> index 03c129230cd7..a9ebbabb7439 100644 > >>>>> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> @@ -269,6 +269,32 @@ int cmdq_pkt_write_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> } > >>>>> EXPORT_SYMBOL(cmdq_pkt_write_s); > >>>>> > >>>>> +int cmdq_pkt_write_s_value(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> + u16 addr_low, u32 value, u32 mask) > >>>>> +{ > >>>>> + struct cmdq_instruction inst = { {0} }; > >>>>> + int err; > >>>>> + > >>>>> + if (mask != U32_MAX) { > >>>>> + inst.op = CMDQ_CODE_MASK; > >>>>> + inst.mask = ~mask; > >>>>> + err = cmdq_pkt_append_command(pkt, inst); > >>>>> + if (err < 0) > >>>>> + return err; > >>>>> + > >>>>> + inst.op = CMDQ_CODE_WRITE_S_MASK; > >>>>> + } else { > >>>>> + inst.op = CMDQ_CODE_WRITE_S; > >>>>> + } > >>>>> + > >>>>> + inst.sop = high_addr_reg_idx; > >>>> > >>>> Writing u16 value in a 5 bit wide variable? > >>> > >>> We need only 5 bits in this case. I'll change high_addr_reg_idx > >>> parameter to u8. > >>> > >> > >> Ok, please make sure to mask the value, so that it's explicit in the code that > >> we only use the lowest 5 bits of high_addr_reg_idx. > > > > Is it necessary to mask the value? > > Since sop already defined as "u8 sop:5;", I thought it is explicit that > > only use 5 bits and compiler should do the rest jobs. > > Yes but it makes the code more explicit if we have a > inst.sop = high_addr_reg_idx & 0x1f; > > What do you think? The value assign to sop will restrict by hardware spec. Clients call this function will define constant value and use it as parameter. So I think we don't worry about client call this api with wrong value. Regards, Dennis > > Regards, > Matthias > > > > > > > Regards, > > Dennis > > > >> > >> Regards, > >> Matthias > >> > >>>> > >>>>> + inst.offset = addr_low; > >>>>> + inst.value = value; > >>>>> + > >>>>> + return cmdq_pkt_append_command(pkt, inst); > >>>>> +} > >>>>> +EXPORT_SYMBOL(cmdq_pkt_write_s_value); > >>>>> + > >>>>> int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event) > >>>>> { > >>>>> struct cmdq_instruction inst = { {0} }; > >>>>> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> index 01b4184af310..fec292aac83c 100644 > >>>>> --- a/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> +++ b/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> @@ -135,6 +135,20 @@ int cmdq_pkt_read_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, u16 addr_low, > >>>>> int cmdq_pkt_write_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> u16 addr_low, u16 src_reg_idx, u32 mask); > >>>>> > >>>>> +/** > >>>>> + * cmdq_pkt_write_s_value() - append write_s command with mask to the CMDQ > >>>>> + * packet which write value to a physical address > >>>>> + * @pkt: the CMDQ packet > >>>>> + * @high_addr_reg_idx: internal regisger ID which contains high address of pa > >>>> > >>>> register > >>> > >>> will fix > >>> > >>> > >>> Regards, > >>> Dennis > >>> > >>>> > >>>>> + * @addr_low: low address of pa > >>>>> + * @value: the specified target value > >>>>> + * @mask: the specified target mask > >>>>> + * > >>>>> + * Return: 0 for success; else the error code is returned > >>>>> + */ > >>>>> +int cmdq_pkt_write_s_value(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> + u16 addr_low, u32 value, u32 mask); > >>>>> + > >>>>> /** > >>>>> * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet > >>>>> * @pkt: the CMDQ packet > >>>>> > >>> > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2074AC433DF for ; Tue, 26 May 2020 07:27:03 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9E9032070A for ; Tue, 26 May 2020 07:27:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="TFV31XXk" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9E9032070A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 543A789FD4; Tue, 26 May 2020 07:26:43 +0000 (UTC) Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by gabe.freedesktop.org (Postfix) with ESMTP id A245D89FAD for ; Mon, 25 May 2020 10:38:49 +0000 (UTC) X-UUID: 2973e26015f74616917f96fbd69d82c3-20200525 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=hP4MHL5rKzsU6+cwtk/2ybNDnctT2+yEC11C/Esk5/o=; b=TFV31XXk0/x4ej3Ymtimxwcrrma9XVcGvxZz7avtFxr2/iH2tEeES+QIuID+MfsKKeiNzCmLdv5KLmXSNa/sCoWuR0hWAM/0de5El/Gpr/QlfSjJImfN/eGlNB8NexisAOeNIxltC0n1gsAvJx0rdeiI0YToMZEalf8Med1Sv+w=; X-UUID: 2973e26015f74616917f96fbd69d82c3-20200525 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1601699790; Mon, 25 May 2020 18:38:48 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 May 2020 18:38:42 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 25 May 2020 18:38:44 +0800 Message-ID: <1590403125.11988.5.camel@mtkswgap22> Subject: Re: [PATCH v5 09/13] soc: mediatek: cmdq: add write_s value function From: Dennis-YC Hsieh To: Matthias Brugger Date: Mon, 25 May 2020 18:38:45 +0800 In-Reply-To: <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> References: <1583664775-19382-1-git-send-email-dennis-yc.hsieh@mediatek.com> <1583664775-19382-10-git-send-email-dennis-yc.hsieh@mediatek.com> <1590341462.31286.19.camel@mtkswgap22> <1590373621.31522.7.camel@mtkswgap22> <68535bf6-9824-5077-4811-374c893cdc03@gmail.com> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-TM-SNTS-SMTP: 7C8ADAEBEC808D17B27E76EFF3A38C58E804BDAD7674469778D687D1892779672000:8 X-MTK: N X-Mailman-Approved-At: Tue, 26 May 2020 07:26:30 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, wsd_upstream@mediatek.com, David Airlie , Jassi Brar , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, HS Liao , Rob Herring , linux-mediatek@lists.infradead.org, Houlong Wei , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Mon, 2020-05-25 at 10:39 +0200, Matthias Brugger wrote: > > On 25/05/2020 04:27, Dennis-YC Hsieh wrote: > > > > On Sun, 2020-05-24 at 20:13 +0200, Matthias Brugger wrote: > >> > >> On 24/05/2020 19:31, Dennis-YC Hsieh wrote: > >>> Hi Matthias, > >>> > >>> Thanks for your comment. > >>> > >>> On Sat, 2020-05-16 at 20:20 +0200, Matthias Brugger wrote: > >>>> > >>>> On 08/03/2020 11:52, Dennis YC Hsieh wrote: > >>>>> 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 > >>>>> Reviewed-by: CK Hu > >>>>> --- > >>>>> drivers/soc/mediatek/mtk-cmdq-helper.c | 26 ++++++++++++++++++++++++++ > >>>>> include/linux/soc/mediatek/mtk-cmdq.h | 14 ++++++++++++++ > >>>>> 2 files changed, 40 insertions(+) > >>>>> > >>>>> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> index 03c129230cd7..a9ebbabb7439 100644 > >>>>> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c > >>>>> @@ -269,6 +269,32 @@ int cmdq_pkt_write_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> } > >>>>> EXPORT_SYMBOL(cmdq_pkt_write_s); > >>>>> > >>>>> +int cmdq_pkt_write_s_value(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> + u16 addr_low, u32 value, u32 mask) > >>>>> +{ > >>>>> + struct cmdq_instruction inst = { {0} }; > >>>>> + int err; > >>>>> + > >>>>> + if (mask != U32_MAX) { > >>>>> + inst.op = CMDQ_CODE_MASK; > >>>>> + inst.mask = ~mask; > >>>>> + err = cmdq_pkt_append_command(pkt, inst); > >>>>> + if (err < 0) > >>>>> + return err; > >>>>> + > >>>>> + inst.op = CMDQ_CODE_WRITE_S_MASK; > >>>>> + } else { > >>>>> + inst.op = CMDQ_CODE_WRITE_S; > >>>>> + } > >>>>> + > >>>>> + inst.sop = high_addr_reg_idx; > >>>> > >>>> Writing u16 value in a 5 bit wide variable? > >>> > >>> We need only 5 bits in this case. I'll change high_addr_reg_idx > >>> parameter to u8. > >>> > >> > >> Ok, please make sure to mask the value, so that it's explicit in the code that > >> we only use the lowest 5 bits of high_addr_reg_idx. > > > > Is it necessary to mask the value? > > Since sop already defined as "u8 sop:5;", I thought it is explicit that > > only use 5 bits and compiler should do the rest jobs. > > Yes but it makes the code more explicit if we have a > inst.sop = high_addr_reg_idx & 0x1f; > > What do you think? The value assign to sop will restrict by hardware spec. Clients call this function will define constant value and use it as parameter. So I think we don't worry about client call this api with wrong value. Regards, Dennis > > Regards, > Matthias > > > > > > > Regards, > > Dennis > > > >> > >> Regards, > >> Matthias > >> > >>>> > >>>>> + inst.offset = addr_low; > >>>>> + inst.value = value; > >>>>> + > >>>>> + return cmdq_pkt_append_command(pkt, inst); > >>>>> +} > >>>>> +EXPORT_SYMBOL(cmdq_pkt_write_s_value); > >>>>> + > >>>>> int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event) > >>>>> { > >>>>> struct cmdq_instruction inst = { {0} }; > >>>>> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> index 01b4184af310..fec292aac83c 100644 > >>>>> --- a/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> +++ b/include/linux/soc/mediatek/mtk-cmdq.h > >>>>> @@ -135,6 +135,20 @@ int cmdq_pkt_read_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, u16 addr_low, > >>>>> int cmdq_pkt_write_s(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> u16 addr_low, u16 src_reg_idx, u32 mask); > >>>>> > >>>>> +/** > >>>>> + * cmdq_pkt_write_s_value() - append write_s command with mask to the CMDQ > >>>>> + * packet which write value to a physical address > >>>>> + * @pkt: the CMDQ packet > >>>>> + * @high_addr_reg_idx: internal regisger ID which contains high address of pa > >>>> > >>>> register > >>> > >>> will fix > >>> > >>> > >>> Regards, > >>> Dennis > >>> > >>>> > >>>>> + * @addr_low: low address of pa > >>>>> + * @value: the specified target value > >>>>> + * @mask: the specified target mask > >>>>> + * > >>>>> + * Return: 0 for success; else the error code is returned > >>>>> + */ > >>>>> +int cmdq_pkt_write_s_value(struct cmdq_pkt *pkt, u16 high_addr_reg_idx, > >>>>> + u16 addr_low, u32 value, u32 mask); > >>>>> + > >>>>> /** > >>>>> * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet > >>>>> * @pkt: the CMDQ packet > >>>>> > >>> > > _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel