[BACK]Return to spdmem.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / ic

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/dev/ic/spdmem.c between version 1.32 and 1.33

version 1.32, 2020/03/20 07:44:10 version 1.33, 2020/03/24 03:35:25
Line 340  spdmem_common_attach(struct spdmem_softc
Line 340  spdmem_common_attach(struct spdmem_softc
             device_xname(self), NULL, NULL, 0, NULL, 0,              device_xname(self), NULL, NULL, 0, NULL, 0,
             CTL_HW, CTL_CREATE, CTL_EOL);              CTL_HW, CTL_CREATE, CTL_EOL);
         if (node != NULL && spd_len != 0)          if (node != NULL && spd_len != 0)
                 sysctl_createv(&sc->sc_sysctl_log, 0, NULL, NULL,                  sysctl_createv(&sc->sc_sysctl_log, 0, NULL, NULL,
                     0,                      0,
                     CTLTYPE_STRUCT, "spd_data",                      CTLTYPE_STRUCT, "spd_data",
                     SYSCTL_DESCR("raw spd data"), NULL,                      SYSCTL_DESCR("raw spd data"), NULL,
                     0, s, spd_len,                      0, s, spd_len,
                     CTL_HW, node->sysctl_num, CTL_CREATE, CTL_EOL);                      CTL_HW, node->sysctl_num, CTL_CREATE, CTL_EOL);
   
         /*          /*
          * Decode and print key SPD contents           * Decode and print key SPD contents
Line 411  spdmem_common_attach(struct spdmem_softc
Line 411  spdmem_common_attach(struct spdmem_softc
                         strlcat(sc->sc_type, " NVDIMM hybrid",                          strlcat(sc->sc_type, " NVDIMM hybrid",
                             SPDMEM_TYPE_MAXLEN);                              SPDMEM_TYPE_MAXLEN);
         }          }
   
         if (node != NULL)          if (node != NULL)
                 sysctl_createv(&sc->sc_sysctl_log, 0, NULL, NULL,                  sysctl_createv(&sc->sc_sysctl_log, 0, NULL, NULL,
                     0,                      0,
Line 615  decode_sdram(const struct sysctlnode *no
Line 615  decode_sdram(const struct sysctlnode *no
                 freq = 0;                  freq = 0;
         switch (freq) {          switch (freq) {
                 /*                  /*
                  * Must check cycle time since some PC-133 DIMMs                   * Must check cycle time since some PC-133 DIMMs
                  * actually report PC-100                   * actually report PC-100
                  */                   */
             case 100:              case 100:
Line 786  decode_ddr3(const struct sysctlnode *nod
Line 786  decode_ddr3(const struct sysctlnode *nod
                     (s->sm_ddr3.ddr3_chipwidth + 2);                      (s->sm_ddr3.ddr3_chipwidth + 2);
         dimm_size = (1 << dimm_size) * (s->sm_ddr3.ddr3_physbanks + 1);          dimm_size = (1 << dimm_size) * (s->sm_ddr3.ddr3_physbanks + 1);
   
         cycle_time = (1000 * s->sm_ddr3.ddr3_mtb_dividend +          cycle_time = (1000 * s->sm_ddr3.ddr3_mtb_dividend +
                             (s->sm_ddr3.ddr3_mtb_divisor / 2)) /                              (s->sm_ddr3.ddr3_mtb_divisor / 2)) /
                      s->sm_ddr3.ddr3_mtb_divisor;                       s->sm_ddr3.ddr3_mtb_divisor;
         cycle_time *= s->sm_ddr3.ddr3_tCKmin;          cycle_time *= s->sm_ddr3.ddr3_tCKmin;
Line 857  decode_fbdimm(const struct sysctlnode *n
Line 857  decode_fbdimm(const struct sysctlnode *n
 #define __FBDIMM_CYCLES(field) (s->sm_fbd.field / s->sm_fbd.fbdimm_tCKmin)  #define __FBDIMM_CYCLES(field) (s->sm_fbd.field / s->sm_fbd.fbdimm_tCKmin)
   
         aprint_verbose_dev(self, LATENCY, __FBDIMM_CYCLES(fbdimm_tAAmin),          aprint_verbose_dev(self, LATENCY, __FBDIMM_CYCLES(fbdimm_tAAmin),
                 __FBDIMM_CYCLES(fbdimm_tRCDmin), __FBDIMM_CYCLES(fbdimm_tRPmin),              __FBDIMM_CYCLES(fbdimm_tRCDmin), __FBDIMM_CYCLES(fbdimm_tRPmin),
                 (s->sm_fbd.fbdimm_tRAS_msb * 256 + s->sm_fbd.fbdimm_tRAS_lsb) /              (s->sm_fbd.fbdimm_tRAS_msb * 256 + s->sm_fbd.fbdimm_tRAS_lsb) /
                     s->sm_fbd.fbdimm_tCKmin);              s->sm_fbd.fbdimm_tCKmin);
   
 #undef  __FBDIMM_CYCLES  #undef  __FBDIMM_CYCLES
   
Line 870  static void
Line 870  static void
 decode_ddr4(const struct sysctlnode *node, device_t self, struct spdmem *s)  decode_ddr4(const struct sysctlnode *node, device_t self, struct spdmem *s)
 {  {
         int dimm_size, cycle_time, ranks;          int dimm_size, cycle_time, ranks;
         int tAA_clocks, tRCD_clocks,tRP_clocks, tRAS_clocks;          int tAA_clocks, tRCD_clocks, tRP_clocks, tRAS_clocks;
   
         aprint_naive("\n");          aprint_naive("\n");
         print_part(s->sm_ddr4.ddr4_part_number,          print_part(s->sm_ddr4.ddr4_part_number,
             sizeof(s->sm_ddr4.ddr4_part_number));              sizeof(s->sm_ddr4.ddr4_part_number));
         aprint_normal_dev(self, "%s", spdmem_basic_types[s->sm_type]);          aprint_normal_dev(self, "%s", spdmem_basic_types[s->sm_type]);
         if (s->sm_ddr4.ddr4_mod_type < __arraycount(spdmem_ddr4_module_types))          if (s->sm_ddr4.ddr4_mod_type < __arraycount(spdmem_ddr4_module_types))
                 aprint_normal(" (%s)",                  aprint_normal(" (%s)",
                     spdmem_ddr4_module_types[s->sm_ddr4.ddr4_mod_type]);                      spdmem_ddr4_module_types[s->sm_ddr4.ddr4_mod_type]);
         aprint_normal(", %sECC, %stemp-sensor, ",          aprint_normal(", %sECC, %stemp-sensor, ",
                 (s->sm_ddr4.ddr4_bus_width_extension) ? "" : "no ",                  (s->sm_ddr4.ddr4_bus_width_extension) ? "" : "no ",
Line 912  decode_ddr4(const struct sysctlnode *nod
Line 912  decode_ddr4(const struct sysctlnode *nod
         default:          default:
                 dimm_size = -1;         /* flag invalid value */                  dimm_size = -1;         /* flag invalid value */
         }          }
         if (dimm_size >= 0) {          if (dimm_size >= 0) {
                 dimm_size = (1 << dimm_size) *                  dimm_size = (1 << dimm_size) *
                     (s->sm_ddr4.ddr4_package_ranks + 1); /* log.ranks/DIMM */                      (s->sm_ddr4.ddr4_package_ranks + 1); /* log.ranks/DIMM */
                 if (s->sm_ddr4.ddr4_signal_loading == 2) {                  if (s->sm_ddr4.ddr4_signal_loading == 2) {
Line 928  decode_ddr4(const struct sysctlnode *nod
Line 928  decode_ddr4(const struct sysctlnode *nod
                              s->sm_ddr4.ddr4_##field##_ftb) -           \                               s->sm_ddr4.ddr4_##field##_ftb) -           \
                             ((s->sm_ddr4.ddr4_##field##_ftb > 127)?256:0))                              ((s->sm_ddr4.ddr4_##field##_ftb > 127)?256:0))
         /*          /*
          * For now, the only value for mtb is 0 = 125ps, and ftb = 1ps           * For now, the only value for mtb is 0 = 125ps, and ftb = 1ps
          * so we don't need to figure out the time-base units - just           * so we don't need to figure out the time-base units - just
          * hard-code them for now.           * hard-code them for now.
          */           */

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.33

CVSweb <webmaster@jp.NetBSD.org>