void fsl_ddr_get_spd(ddr3_spd_eeprom_t *ctrl_dimms_spd, unsigned int ctrl_num) { unsigned int i; unsigned int i2c_address = 0; for (i = 0; i < CONFIG_DIMM_SLOTS_PER_CTLR; i++) { if (ctrl_num == 0 && i == 0) i2c_address = SPD_EEPROM_ADDRESS; get_spd(&(ctrl_dimms_spd[i]), i2c_address); } }
void fsl_ddr_get_spd(ddr2_spd_eeprom_t *ctrl_dimms_spd, unsigned int ctrl_num) { unsigned int i; if (ctrl_num) { printf("%s: invalid ctrl_num = %d\n", __func__, ctrl_num); return; } for (i = 0; i < CONFIG_DIMM_SLOTS_PER_CTLR; i++) get_spd(&(ctrl_dimms_spd[i]), SPD_EEPROM_ADDRESS); }
void fsl_ddr_get_spd(ddr2_spd_eeprom_t *ctrl_dimms_spd, unsigned int ctrl_num) { unsigned int i; if (ctrl_num) { printf("%s unexpected ctrl_num = %u\n", __FUNCTION__, ctrl_num); return; } for (i = 0; i < CONFIG_DIMM_SLOTS_PER_CTLR; i++) { get_spd(&(ctrl_dimms_spd[i]), SPD_EEPROM_ADDRESS); } }
void fsl_ddr_get_spd(generic_spd_eeprom_t *ctrl_dimms_spd, unsigned int ctrl_num) { unsigned int i; unsigned int i2c_address = 0; if (ctrl_num >= CONFIG_NUM_DDR_CONTROLLERS) { printf("%s unexpected ctrl_num = %u\n", __FUNCTION__, ctrl_num); return; } for (i = 0; i < CONFIG_DIMM_SLOTS_PER_CTLR; i++) { i2c_address = spd_i2c_addr[ctrl_num][i]; get_spd(&(ctrl_dimms_spd[i]), i2c_address); } }
void fsl_ddr_get_spd(generic_spd_eeprom_t *ctrl_dimms_spd, unsigned int ctrl_num, unsigned int dimm_slots_per_ctrl) { unsigned int i; unsigned int i2c_address = 0; if (ctrl_num >= CONFIG_SYS_NUM_DDR_CTLRS) { printf("%s unexpected ctrl_num = %u\n", __FUNCTION__, ctrl_num); return; } for (i = 0; i < dimm_slots_per_ctrl; i++) { i2c_address = spd_i2c_addr[ctrl_num][i]; update_spd_address(ctrl_num, i, &i2c_address); get_spd(&(ctrl_dimms_spd[i]), i2c_address); } }
static void print_serial_flags(int serial_flags, enum print_mode mode, const char *prefix, const char *postfix) { int i; const char *spd, *pr; pr = prefix; spd = get_spd(serial_flags, mode); if (spd) print_flag(&pr, spd); for (i = CMD_FLAG_FIRST; i <= CMD_FLAG_LAST; i++) { if ((serial_flags & setbits[i]) && (mode > PRINT_SUMMARY || !cmd_noprint(i)) ) { print_flag(&pr, nth_string(commands, i)); } } puts(pr == prefix ? "" : postfix); }
/* **++ ** ROUTINE: sp_send ** ** FUNCTIONAL DESCRIPTION: ** ** Queue up some data to be sent to the subprocess. ** ** RETURNS: cond_value, longword (unsigned), write only, by value ** ** PROTOTYPE: ** ** sp_send(SPHANDLE *ctxpp, struct dsc$descriptor *cmdstr); ** ** IMPLICIT INPUTS: None. ** ** IMPLICIT OUTPUTS: None. ** ** COMPLETION CODES: ** SS$_NORMAL: Normal successful completion. ** ** SIDE EFFECTS: None. ** **-- */ unsigned int sp_send (SPHANDLE *ctxpp, void *cmdstr) { SPHANDLE ctx; struct SPD *spd; unsigned int status, efstate; unsigned short cmdlen; char *cmdadr; ctx = *ctxpp; if (sys$readef(ctx->termefn, &efstate) != SS$_WASCLR) return SS$_NONEXPR; status = lib$analyze_sdesc(cmdstr, &cmdlen, &cmdadr); if (!OK(status)) return status; spd = get_spd(cmdlen); if (spd == 0) return SS$_INSFMEM; memcpy(spd->buf, cmdadr, cmdlen); status = sys$setast(0); queue_insert(spd, ctx->sendque.tail); if (status == SS$_WASSET) sys$setast(1); sys$dclast(try_to_send, ctx, 0); return SS$_NORMAL; } /* sp_send */