Messages in this thread | | | Subject | Re: [PATCH arm/aspeed/ast2500 v3 1/2] ipmi: add a KCS IPMI BMC driver | From | Corey Minyard <> | Date | Thu, 1 Feb 2018 18:25:24 -0600 |
| |
On 02/01/2018 05:56 PM, Wang, Haiyue wrote: > > > On 2018-02-02 04:32, Corey Minyard wrote: >>> +static void kcs_bmc_handle_cmd(struct kcs_bmc *kcs_bmc) >>> +{ >>> + u8 cmd; >>> + >>> + set_state(kcs_bmc, WRITE_STATE); >>> + write_data(kcs_bmc, KCS_ZERO_DATA); >>> + >>> + cmd = read_data(kcs_bmc); >>> + switch (cmd) { >>> + case KCS_CMD_WRITE_START: >>> + if (kcs_bmc->phase != KCS_PHASE_IDLE && >>> + kcs_bmc->phase != KCS_PHASE_ERROR) { >>> + kcs_force_abort(kcs_bmc); >>> + break; >>> + } >>> + >> >> The spec says you can do a write start basically any time and the >> state machine starts over. I know I kind of went back and forth on >> this in my previous email, but what you had before is correct, I think. >> > So change it to the bellowing code is OK now? :-) > > + case KCS_CMD_WRITE_START: > + kcs_bmc->data_in_avail = false; > + kcs_bmc->data_in_idx = 0; > + kcs_bmc->phase = KCS_PHASE_WRITE; > + kcs_bmc->error = KCS_NO_ERROR; > + break; > Yes, that should be good. Sorry about the confusion.
| |