From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751787AbbIBAeg (ORCPT ); Tue, 1 Sep 2015 20:34:36 -0400 Received: from mail-by2on0127.outbound.protection.outlook.com ([207.46.100.127]:38427 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751029AbbIBAee (ORCPT ); Tue, 1 Sep 2015 20:34:34 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; Message-ID: <1441154062.4966.113.camel@freescale.com> Subject: Re: [PATCH V7 2/3] qe_common: add qe_muram_ functions to manage muram From: Scott Wood To: Zhao Qiang CC: , , , , , , Date: Tue, 1 Sep 2015 19:34:22 -0500 In-Reply-To: <1441011520-15424-2-git-send-email-qiang.zhao@freescale.com> References: <1441011520-15424-1-git-send-email-qiang.zhao@freescale.com> <1441011520-15424-2-git-send-email-qiang.zhao@freescale.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [2601:448:8100:f9f:12bf:48ff:fe84:c9a0] X-ClientProxiedBy: BLUPR16CA0023.namprd16.prod.outlook.com (25.164.14.33) To BY1PR03MB1482.namprd03.prod.outlook.com (25.162.210.140) X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;2:hPKfsGx/TxvARDCbvkH6GIpkmb0OKTSfMDKqdMpvUeKZ9e9uNyh06SNsegFiRlq4kqjeADqTnCtXtYgyWqUXwkU+gVFpimpzl5bA/VAtFuvXKH8CM/PJPF4gcDGmG3MIO4pOHVxNH6bsAvyj+7hrkksaHx5oSJRXdvnGEOh/47U=;3:nLc4jUkkF7cxPrkufeYRE9o6TK4pQ7brdwoFtN31ScjAS4zBkOdd5LdWbp0cTgxIwxiB0tuhHWERmgqsuSjaKtNSjBwwKLUSKaPGinDXgp0vtwwKagWYbh+CxQHieF7E2CGroUAH1IiwdD0cnim/JA==;25:h3HkkTPBL0IPcSLXrvw8m33GjEkCLrqmTbsg8clV1cgNC5nKSdf8SDyyfatUPZ1pTclg/T38dOQ6oQrk/28RgvKEmhkZ4Rh50COTnPAx8//YvmsFp5XqCuLkk+4oLu3J92wRsdIUbAQVAsTu6u/4OqDuZ0krE+oSgsrOkSsY1JxxGOJCe4ttV+GsDthWuNWvCr8+yxPTgvzviDfpcAadjYeCWvDWpjYCe5xIX6vdQTPrfZ/R8boxnLOyBvZ+bP+kVT5NTyICMPucAZvBeuhw+g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1513; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;20:JvsmwExRDbHForD3OwHndOpkQFklCNe1dHs0uSuDBY5djkeyOI3E9VGvDbnIEzh5RoT+k+fiIwAyzPZt/jy3z64Ar20QFPwEHmWvYAGZw8ciO+xQeIS/J+KZkwFyktdFgwFftG3XYTKOcmRguoahts7rfOJ+JPB1JQ+eGp6Ry/eokEV+UbZ3ox0t1T5qxjBZVS+n/I9B0B1c6v3dqoVNY7EMzXATSGLD/1a7OVHg+XErOmEfyvlMeaCPjRIa0mEvtqpJJvKmLN7SFWdgLCpboI1tTi2MiYUpkzbHsvqm6aLmR1+XtVCZh1r/5IDliejunRNFZzfG9fb2sI4A02EXg2oPuDkq9CPlHjKCEY9bFTKDQRaAQMF0FbZ1bFFeH9HlfPzzukh0ZOBhBcUOxIOrsVwJZJ4vLFJNXFfY8tSr0f2lErKNhgj3/ak0xTcxyzH9KmbtUHtxVDL1+imcF0wl+xuEdcShvWg/UANDXdbjrwyVKbVovI6rTVHy/U9c7ZFn;4:Yta0Ocjk+OSdHXMeElXfwt9peowFj6W7PfLgIohmJU4Yi+AKF202RW/wD89xlbDzy/RcAz8fJXjawl2W/GF6TqN1Qv502OHHl7e1Y/G1K3AhEwFGXJHNJMHMYLR/pHMyLEsGXZzs+H/wnK5l/4xrHm5TRUIlGJBOc2gq2OsQGnyF4HxEGJOHVIEyTQW9/VdbWSlZyYKXuyZShwGRHDpEGiy2DgUH5W2Fxw2McwgAsEtUHn01DIUsFBYOYv8NKSkImzazeu5fJq7dmWAVS2XovGN7OLIuibjKkUDvIAM6ikUMjtcOGZG2XAC96aP5Lt98 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:BY1PR03MB1482;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482; X-Forefront-PRVS: 0687389FB0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(24454002)(199003)(377424004)(189002)(92566002)(4001540100001)(5820100001)(105586002)(68736005)(97736004)(106356001)(189998001)(2950100001)(23676002)(81156007)(77096005)(33646002)(42186005)(50226001)(62966003)(47776003)(76176999)(36756003)(103116003)(110136002)(77156002)(50986999)(122386002)(64706001)(5007970100001)(40100003)(86362001)(5001960100002)(101416001)(5001830100001)(4001450100002)(50466002)(46102003)(87976001)(5001860100001)(5004730100002)(99106002)(3826002)(5001840100002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1482;H:[IPv6:2601:448:8100:f9f:12bf:48ff:fe84:c9a0];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzTUIxNDgyOzIzOkIyY0dxV3o5ZThSd2dlRXNtT3piN0lVSDVM?= =?utf-8?B?cmVDMVFUcDFWb1BkbG5TWjkyOUVvRG9jNU1NR2FpcWtseUcrTTlPTDFIWm1i?= =?utf-8?B?bHNtVGNDU25BdHdxblNTN0JGSllPL3ErOHhtS3VVVFZoYnh5WDNGd1o1cWtL?= =?utf-8?B?Vnh5N21kb2FQbDdxd0NLZTBwWjJYM25Ed3ZuRkcxNzV6VXdhay8xTTNOWk90?= =?utf-8?B?cjFPNjRUNVAwbFkwd05Obngyd0pqemhENlJBcEErMUpTTzYzZmF3S01sNXho?= =?utf-8?B?MzllOW1xd0JMT3hXWlRJdWVLcWlqK1RDYXdJT3dQS1NRcG9GNW9nVXU5Y2NX?= =?utf-8?B?TkZadGR0TkkzVXY4RkYzMmo1NlVzVFRsNjZHYUVGMGtkZXpGUXdPS1ExUGQw?= =?utf-8?B?NmdVcmtyY2NSVEdYM0NIdWp6ZlFQMjZrVTVmTVhQOFR2blBIWitndzBUb1M0?= =?utf-8?B?OWd6RVVRN0txYWdQaGJHUi9ZUjgzTTNjcnk4RjJ3U1d0V05aYUI4Q1lrNXNR?= =?utf-8?B?ZENLZHFkNHVmYmNzYmk0Y2w4ZmJ5NmRMUjdnY2ZZTGNGM0p3TjZ0cndSakth?= =?utf-8?B?cmtFUitMMGRHM0k2WDdDVE94N2JiOUJQdnFBV2s1UzIvSUJwbmltUGh5NGNR?= =?utf-8?B?UWtFV0V2TXFsazZTbm5yTDE5Rk5nbkZKS1J1cHVrRFc4WFZrTDFjbjVpZVc1?= =?utf-8?B?Y2s0RmFCeWQwZnhMQUJYdFNHaGRyb3cxRitrUUR1OHZrZlAvNitDV05qa3hE?= =?utf-8?B?Ti93S0pvYkw0cG83RHY4bUk4bXFyVUpIYnNZN1E3TmRPblVnMWp2bEpERkdy?= =?utf-8?B?WXUrS0wvazhMY21uRllNbC84SzFBbklEQ09RYTJiWVhaRSt2MzV0N1ZNOWMy?= =?utf-8?B?Mnc2ZDFYVEhwNEtoYzNvRWpYblJaZS9SM3QzT2Rvb0t4TnhIRHFXSHpJcUlu?= =?utf-8?B?SEVISlNodmRxTVNKRHBNRWxGd2VEM1dqUEhwUlVyQi9wQUZHSUJEbWI2UGdH?= =?utf-8?B?WlMzQSt5VXd5V1Ntb05tWmVjQlVuOXRIbVpYTkgranBUV215Ykpud1BJRHd4?= =?utf-8?B?d2hJSk44U0F4MllESTQ0YkgrMnRpZGZadWdKa2dUdW9SSnRra3pWQ1VSM3dh?= =?utf-8?B?Q3JFTW9keUMzWm9kTWo3MER4bGFBaDZSY3pSbnkyS0pXSTEzaW9FdUsvQUhT?= =?utf-8?B?ekE4WERZMmdjN2FMeE9lbmVES1ZUdmE0VTVKQUF0dlZRVDhPQU1zVi95dHVD?= =?utf-8?B?RW5OS2FvT1FXYVIyVEhyUk51SFVtcWN3cHhZWmQ5S1UzdVFwdC9JTDFabUpB?= =?utf-8?B?VWEzTFNEU0JqUEtQWCsrYkl6SVdFaFIyaXVzZFhuV3kvQVdRUTUxTGJOY2RF?= =?utf-8?B?L0YzWHY1ZFFtWDlDYWVmZTQwVlZ1dGF6RDF3b2FTdzNONUxGNkZJZ0hDckYz?= =?utf-8?B?ZHAyZXNXYlVQRnRQMHBRbklOVDY1dVhwSVhLQjQxcnY2TEZncHVnd0xVaTNI?= =?utf-8?B?YXJkZ2RTN3p0VVFiN2RUZDRoRi8yTGgrZEhGaW9SRE1zK1AydXp1b1BkaU5t?= =?utf-8?B?dEZlVFZTd0x0bFdSaUFUL0VDZzFrbitFVVU1UkxsWUlqQmxMd0JiQ1kzcURv?= =?utf-8?B?bG5VdG13dFVXRG12OEw1T1ZpZ0JzbmgrcUdYUHhzd2FnLzBsRGtzWnN3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;5:QJGXIs4matxxrcx7ujVBgTK3mKfpxogkO8plDTbWK1auEHgAUM+gosNYSYPMDEZA1vnJ8Uk/Ds5uQuEz6BXIfwAxYdrBECG79eTjBQTKJhxShHgBA04BRMTpGS42aXxmdiEwETusBEDt9O4Y5uHBmQ==;24:ctrACaXgClfwha/UIz82rFqU+93PVIoPZfGEPkND9Epjgpc45niRKhZsY9tbjnnIDKYklNdjaSb5qeQ03KhBObXnxloFf9lHjyWifpNjLD8=;20:zo+4tyYjJg6pnWBnA6/Pm6mbgZwOt8104AW+GY3FtO0lbfpPj2RCXPuEvGR1MOCP2/EmBXxxvMgY9lPghCVRjg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2015 00:34:30.2588 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1482 X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1513;2:vOknKqE8QiLjvC9q1InrrK/HZFndt/0Nd+D8VS71r8ZYpkQvXjjqeB+11Aa3jtlfqj91IftgFMRhEFF6kmP6ZKtyYm656s7dPqGnfwn2VQe8rd8mM2RcCnhBKmM7L+JUY36/HGMcW6E9fQ6Oqg/WWN9TesjN47JS2q6Jz/Uede4=;3:4CTuUF8XeeDuwHRiapUDR8FUewKSsFhttjv6xr1+5cPgTYBP7Kk3B3whYG2pj36STRlzUMguFnar+a9lxfiU6hWrCeYQn8/pO1prEMzYOfBBU7y9jJ+jmD/LCJpjeaoz83X1vqBGBwRTPExu6cI+Sg==;25:Pw9pn1F2KlwPGrysIYTMWq6UpVZaH6eMvzBJ+wPG3BiQAzj6JkBQ/MShSeumf4/SsJSYyBCMaE86GODHG+gmheKGNMGt0WS1ypU7gRXa+kKd7U/beicwVbDMXhQTFJyawTVP18vBh+ujTcGcWiQE5H18b3UjoaXfi35/G2MKwXoxz1Y69eXlnP/gvPCavcfkbKEQU/aFX4OxdXzyZgWnaVgO4CkXddVU+x8eIyPcr9hVdcxYgNm5VCAMlUxFAy9jCCYuTeCogDe3yilKM8Gt3Q==;23:JnR7TWZ4mp8lSWWv0Xyp/cmx1CyPSLcUJ7WWfjXjEsFs4Po1Jd3xzrk55qvSQo3OXoGxZlnyzgkJ7OL+gvrzDLn40lsbLShwNaALKzr14VdWgyKDWI0DLWo6NhE7SqhFa2WPhXOtXeClDefeYTkPru/tBIp+9Frr94q+uJpx3S3q8xl24XxoBs4Y5zmmqbXG X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2015-08-31 at 16:58 +0800, Zhao Qiang wrote: > @@ -187,12 +190,25 @@ static inline int qe_alive_during_sleep(void) > } > > /* we actually use cpm_muram implementation, define this for convenience */ > -#define qe_muram_init cpm_muram_init > -#define qe_muram_alloc cpm_muram_alloc > -#define qe_muram_alloc_fixed cpm_muram_alloc_fixed > -#define qe_muram_free cpm_muram_free > -#define qe_muram_addr cpm_muram_addr > -#define qe_muram_offset cpm_muram_offset > +#define cpm_muram_init qe_muram_init > +#define cpm_muram_alloc qe_muram_alloc > +#define cpm_muram_alloc_fixed qe_muram_alloc_fixed > +#define cpm_muram_free qe_muram_free > +#define cpm_muram_addr qe_muram_addr > +#define cpm_muram_offset qe_muram_offset Why? This is unnecessary churn. > @@ -266,6 +282,27 @@ struct qe_bd { > #define BD_STATUS_MASK 0xffff0000 > #define BD_LENGTH_MASK 0x0000ffff > > +/* Buffer descriptor control/status used by serial > + */ > + > +#define BD_SC_READY (0x8000) /* Transmit is ready */ > +#define BD_SC_WRAP (0x2000) /* Last buffer descriptor */ > +#define BD_SC_INTRPT (0x1000) /* Interrupt on change */ > +#define BD_SC_LAST (0x0800) /* Last buffer in frame */ > +#define BD_SC_TC (0x0400) /* Transmit CRC */ > +#define BD_SC_CM (0x0200) /* Continuous mode */ > +#define BD_SC_ID (0x0100) /* Rec'd too many idles */ > +#define BD_SC_P (0x0100) /* xmt preamble */ > +#define BD_SC_BR (0x0020) /* Break received */ > +#define BD_SC_FR (0x0010) /* Framing error */ > +#define BD_SC_PR (0x0008) /* Parity error */ > +#define BD_SC_NAK (0x0004) /* NAK - did not respond */ > +#define BD_SC_OV (0x0002) /* Overrun */ > +#define BD_SC_UN (0x0002) /* Underrun */ > +#define BD_SC_CD (0x0001) /* */ > +#define BD_SC_CL (0x0001) /* Collision */ > + Why is this being copied rather than moved? > > -int cpm_muram_init(void) > -{ > - struct device_node *np; > - struct resource r; > - u32 zero[OF_MAX_ADDR_CELLS] = {}; > - resource_size_t max = 0; > - int i = 0; > - int ret = 0; > - > - if (muram_pbase) > - return 0; > - > - spin_lock_init(&cpm_muram_lock); > - /* initialize the info header */ > - rh_init(&cpm_muram_info, 1, > - sizeof(cpm_boot_muram_rh_block) / > - sizeof(cpm_boot_muram_rh_block[0]), > - cpm_boot_muram_rh_block); > - > - np = of_find_compatible_node(NULL, NULL, "fsl,cpm-muram-data"); > - if (!np) { > - /* try legacy bindings */ > - np = of_find_node_by_name(NULL, "data-only"); > - if (!np) { > - printk(KERN_ERR "Cannot find CPM muram data node"); > - ret = -ENODEV; > - goto out; > - } > - } > - > - muram_pbase = of_translate_address(np, zero); > - if (muram_pbase == (phys_addr_t)OF_BAD_ADDR) { > - printk(KERN_ERR "Cannot translate zero through CPM muram node"); > - ret = -ENODEV; > - goto out; > - } Did you pass -M -C to git format-patch? -Scott