Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  nand-ecc-sw-hamming.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  Copyright (C) 2000-2010 Steven J. Hill <sjhill@realitydiluted.com>
 *     David Woodhouse <dwmw2@infradead.org>
 *     Thomas Gleixner <tglx@linutronix.de>
 *
 * This file is the header for the NAND Hamming ECC implementation.
 */


#ifndef __MTD_NAND_ECC_SW_HAMMING_H__
#define __MTD_NAND_ECC_SW_HAMMING_H__

#include <linux/mtd/nand.h>

/**
 * struct nand_ecc_sw_hamming_conf - private software Hamming ECC engine structure
 * @req_ctx: Save request context and tweak the original request to fit the
 *           engine needs
 * @code_size: Number of bytes needed to store a code (one code per step)
 * @calc_buf: Buffer to use when calculating ECC bytes
 * @code_buf: Buffer to use when reading (raw) ECC bytes from the chip
 * @sm_order: Smart Media special ordering
 */

struct nand_ecc_sw_hamming_conf {
 struct nand_ecc_req_tweak_ctx req_ctx;
 unsigned int code_size;
 u8 *calc_buf;
 u8 *code_buf;
 unsigned int sm_order;
};

#if IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING)

int nand_ecc_sw_hamming_init_ctx(struct nand_device *nand);
void nand_ecc_sw_hamming_cleanup_ctx(struct nand_device *nand);
int ecc_sw_hamming_calculate(const unsigned char *buf, unsigned int step_size,
        unsigned char *code, bool sm_order);
int nand_ecc_sw_hamming_calculate(struct nand_device *nand,
      const unsigned char *buf,
      unsigned char *code);
int ecc_sw_hamming_correct(unsigned char *buf, unsigned char *read_ecc,
      unsigned char *calc_ecc, unsigned int step_size,
      bool sm_order);
int nand_ecc_sw_hamming_correct(struct nand_device *nand, unsigned char *buf,
    unsigned char *read_ecc,
    unsigned char *calc_ecc);

#else /* !CONFIG_MTD_NAND_ECC_SW_HAMMING */

static inline int nand_ecc_sw_hamming_init_ctx(struct nand_device *nand)
{
 return -ENOTSUPP;
}

static inline void nand_ecc_sw_hamming_cleanup_ctx(struct nand_device *nand) {}

static inline int ecc_sw_hamming_calculate(const unsigned char *buf,
        unsigned int step_size,
        unsigned char *code, bool sm_order)
{
 return -ENOTSUPP;
}

static inline int nand_ecc_sw_hamming_calculate(struct nand_device *nand,
      const unsigned char *buf,
      unsigned char *code)
{
 return -ENOTSUPP;
}

static inline int ecc_sw_hamming_correct(unsigned char *buf,
      unsigned char *read_ecc,
      unsigned char *calc_ecc,
      unsigned int step_size, bool sm_order)
{
 return -ENOTSUPP;
}

static inline int nand_ecc_sw_hamming_correct(struct nand_device *nand,
           unsigned char *buf,
           unsigned char *read_ecc,
           unsigned char *calc_ecc)
{
 return -ENOTSUPP;
}

#endif /* CONFIG_MTD_NAND_ECC_SW_HAMMING */

#endif /* __MTD_NAND_ECC_SW_HAMMING_H__ */

Messung V0.5
C=95 H=99 G=96

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge