From owner-freebsd-current@FreeBSD.ORG Tue May 21 17:03:48 2013 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2F2CC692 for ; Tue, 21 May 2013 17:03:48 +0000 (UTC) (envelope-from alexander.fedorov@rtlservice.com) Received: from mail-oa0-f44.google.com (mail-oa0-f44.google.com [209.85.219.44]) by mx1.freebsd.org (Postfix) with ESMTP id 00B62EED for ; Tue, 21 May 2013 17:03:47 +0000 (UTC) Received: by mail-oa0-f44.google.com with SMTP id n12so1153535oag.31 for ; Tue, 21 May 2013 10:03:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :x-gm-message-state; bh=UIXLW5zfC02Vb6DDnBUrqoJLlTynH2sAuwD2YiJ4g5k=; b=UqOKIkwazolUIzLbN98UkUcwTKHIcwS4ZBBt5YiZd8KV4za1o87/zebPq3Wg67fACw 3WmrJYmb8tSfNfxItO3KRhk0iUjOsL+HRAo+jp2Sm7Lr5O9Kyzo2b5ZeqJ/nYUJ/bP2V CT8MoTgbr4qTRuqgr51iPqvESGcIe01pKa8wDw/t5fjMurtyw5kkRUdzwKngB3nD/y8t 6CWb6/KDqTmwJ6gR79ZIGz9ceklSH7VgadjxJsrSbPyst09d/8NwkIrHzn96yf43ytCR qI+He9ZTUCDGI0UpgSNdszX87oTVE3RcDy4uQzdX5dKShE3vFPsb46AZf3ZofMCSfBVR fn+g== MIME-Version: 1.0 X-Received: by 10.182.108.165 with SMTP id hl5mr2063740obb.33.1369155826816; Tue, 21 May 2013 10:03:46 -0700 (PDT) Received: by 10.60.26.168 with HTTP; Tue, 21 May 2013 10:03:46 -0700 (PDT) Date: Tue, 21 May 2013 21:03:46 +0400 Message-ID: Subject: [PATCH] NAND Framework ONFI chip detection From: Alexander Fedorov To: current@freebsd.org Content-Type: multipart/mixed; boundary=089e01294e7cb3300004dd3d6e23 X-Gm-Message-State: ALoCoQmy6f1CdVtZMhyF9O1sn+/DFaa2XqEIu5Da+Z0bchs1GLjoX1Chq6E2kISygWrhcrYHPFYM X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 May 2013 17:03:48 -0000 --089e01294e7cb3300004dd3d6e23 Content-Type: text/plain; charset=ISO-8859-1 Hi all! I'm writing NAND Flash controller driver for my Hackberry board. And I found that NAND Framework does not properly detecting ONFI compiliant chips. First, ONFI specification says (p. 40 http://www.onfi.org/~/media/ONFI/specs/ONFI_1_0_Gold.pdf): >The ONFI signature is the ASCII encoding of 'ONFI' where 'O' = 4Fh, 'N' = 4Eh, 'F' = 46h, 'I' = 49h. But, current code check it for 'o', 'n', 'f', 'I'. Second, function "onfi_read_parameter" (nand_generic.c) read parameters page using this construction: >NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params)); So, structure onfi_params must be declared as packed. Proposed patch solves the problem for me. Is this patch ok? --089e01294e7cb3300004dd3d6e23 Content-Type: application/octet-stream; name="nand_framework_onfi_probing.patch" Content-Disposition: attachment; filename="nand_framework_onfi_probing.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hgzc5ous0 SW5kZXg6IG5hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBuYW5kLmgJKHJldmlzaW9uIDI1MDg1NykKKysr IG5hbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDcgKzIxOSw3IEBACiAJdWludDE2X3QJdmVu ZG9yX3JldjsKIAl1aW50OF90CQl2ZW5kb3Jfc3BlY1s4XTsKIAl1aW50MTZfdAljcmM7Ci19Owor fV9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogCiBzdHJ1Y3QgbmFuZF9lY2NfZGF0YSB7CiAJaW50 CWVjY3NpemU7CQkvKiBOdW1iZXIgb2YgZGF0YSBieXRlcyBwZXIgRUNDIHN0ZXAgKi8KSW5kZXg6 IG5hbmRidXMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBuYW5kYnVzLmMJKHJldmlzaW9uIDI1MDg1NykKKysr IG5hbmRidXMuYwkod29ya2luZyBjb3B5KQpAQCAtMzMxLDcgKzMzMSw3IEBACiBuYW5kX3Byb2Jl X29uZmkoZGV2aWNlX3QgYnVzLCB1aW50OF90ICpvbmZpX2NvbXBsaWFudCkKIHsKIAlkZXZpY2Vf dCBuZmM7Ci0JY2hhciBvbmZpX2lkW10gPSB7J28nLCAnbicsICdmJywgJ2knLCAnXDAnfTsKKwlj aGFyIG9uZmlfaWRbXSA9IHsnTycsICdOJywgJ0YnLCAnSScsICdcMCd9OwogCWludCBpOwogCiAJ bmFuZF9kZWJ1ZyhOREJHX0JVUywicHJvYmluZyBPTkZJIik7Cg== --089e01294e7cb3300004dd3d6e23--