@@ -49,7 +49,19 @@ static inline void opstate_init(void)
4949#define EDAC_MC_LABEL_LEN 31
5050#define MC_PROC_NAME_MAX_LEN 7
5151
52- /* memory devices */
52+ /**
53+ * enum dev_type - describe the type of memory DRAM chips used at the stick
54+ * @DEV_UNKNOWN: Can't be determined, or MC doesn't support detect it
55+ * @DEV_X1: 1 bit for data
56+ * @DEV_X2: 2 bits for data
57+ * @DEV_X4: 4 bits for data
58+ * @DEV_X8: 8 bits for data
59+ * @DEV_X16: 16 bits for data
60+ * @DEV_X32: 32 bits for data
61+ * @DEV_X64: 64 bits for data
62+ *
63+ * Typical values are x4 and x8.
64+ */
5365enum dev_type {
5466 DEV_UNKNOWN = 0 ,
5567 DEV_X1 ,
@@ -167,18 +179,30 @@ enum mem_type {
167179#define MEM_FLAG_DDR3 BIT(MEM_DDR3)
168180#define MEM_FLAG_RDDR3 BIT(MEM_RDDR3)
169181
170- /* chipset Error Detection and Correction capabilities and mode */
182+ /**
183+ * enum edac-type - Error Detection and Correction capabilities and mode
184+ * @EDAC_UNKNOWN: Unknown if ECC is available
185+ * @EDAC_NONE: Doesn't support ECC
186+ * @EDAC_RESERVED: Reserved ECC type
187+ * @EDAC_PARITY: Detects parity errors
188+ * @EDAC_EC: Error Checking - no correction
189+ * @EDAC_SECDED: Single bit error correction, Double detection
190+ * @EDAC_S2ECD2ED: Chipkill x2 devices - do these exist?
191+ * @EDAC_S4ECD4ED: Chipkill x4 devices
192+ * @EDAC_S8ECD8ED: Chipkill x8 devices
193+ * @EDAC_S16ECD16ED: Chipkill x16 devices
194+ */
171195enum edac_type {
172- EDAC_UNKNOWN = 0 , /* Unknown if ECC is available */
173- EDAC_NONE , /* Doesn't support ECC */
174- EDAC_RESERVED , /* Reserved ECC type */
175- EDAC_PARITY , /* Detects parity errors */
176- EDAC_EC , /* Error Checking - no correction */
177- EDAC_SECDED , /* Single bit error correction, Double detection */
178- EDAC_S2ECD2ED , /* Chipkill x2 devices - do these exist? */
179- EDAC_S4ECD4ED , /* Chipkill x4 devices */
180- EDAC_S8ECD8ED , /* Chipkill x8 devices */
181- EDAC_S16ECD16ED , /* Chipkill x16 devices */
196+ EDAC_UNKNOWN = 0 ,
197+ EDAC_NONE ,
198+ EDAC_RESERVED ,
199+ EDAC_PARITY ,
200+ EDAC_EC ,
201+ EDAC_SECDED ,
202+ EDAC_S2ECD2ED ,
203+ EDAC_S4ECD4ED ,
204+ EDAC_S8ECD8ED ,
205+ EDAC_S16ECD16ED ,
182206};
183207
184208#define EDAC_FLAG_UNKNOWN BIT(EDAC_UNKNOWN)
@@ -191,18 +215,30 @@ enum edac_type {
191215#define EDAC_FLAG_S8ECD8ED BIT(EDAC_S8ECD8ED)
192216#define EDAC_FLAG_S16ECD16ED BIT(EDAC_S16ECD16ED)
193217
194- /* scrubbing capabilities */
218+ /**
219+ * enum scrub_type - scrubbing capabilities
220+ * @SCRUB_UNKNOWN Unknown if scrubber is available
221+ * @SCRUB_NONE: No scrubber
222+ * @SCRUB_SW_PROG: SW progressive (sequential) scrubbing
223+ * @SCRUB_SW_SRC: Software scrub only errors
224+ * @SCRUB_SW_PROG_SRC: Progressive software scrub from an error
225+ * @SCRUB_SW_TUNABLE: Software scrub frequency is tunable
226+ * @SCRUB_HW_PROG: HW progressive (sequential) scrubbing
227+ * @SCRUB_HW_SRC: Hardware scrub only errors
228+ * @SCRUB_HW_PROG_SRC: Progressive hardware scrub from an error
229+ * SCRUB_HW_TUNABLE: Hardware scrub frequency is tunable
230+ */
195231enum scrub_type {
196- SCRUB_UNKNOWN = 0 , /* Unknown if scrubber is available */
197- SCRUB_NONE , /* No scrubber */
198- SCRUB_SW_PROG , /* SW progressive (sequential) scrubbing */
199- SCRUB_SW_SRC , /* Software scrub only errors */
200- SCRUB_SW_PROG_SRC , /* Progressive software scrub from an error */
201- SCRUB_SW_TUNABLE , /* Software scrub frequency is tunable */
202- SCRUB_HW_PROG , /* HW progressive (sequential) scrubbing */
203- SCRUB_HW_SRC , /* Hardware scrub only errors */
204- SCRUB_HW_PROG_SRC , /* Progressive hardware scrub from an error */
205- SCRUB_HW_TUNABLE /* Hardware scrub frequency is tunable */
232+ SCRUB_UNKNOWN = 0 ,
233+ SCRUB_NONE ,
234+ SCRUB_SW_PROG ,
235+ SCRUB_SW_SRC ,
236+ SCRUB_SW_PROG_SRC ,
237+ SCRUB_SW_TUNABLE ,
238+ SCRUB_HW_PROG ,
239+ SCRUB_HW_SRC ,
240+ SCRUB_HW_PROG_SRC ,
241+ SCRUB_HW_TUNABLE
206242};
207243
208244#define SCRUB_FLAG_SW_PROG BIT(SCRUB_SW_PROG)
0 commit comments