It sounds like the engine or transmission is in "limp in" mode. This is to protect the powertrain in case of an potentially damaging problem.
When the engine gets to operating temperature, the computer enters closed loop where the sensors tell the PCM how to control the operation of the engine.
Before operating temperature, the PCM runs on programmed tables.
"Limp In" mode has its own set of tables to control the engine.
You will need to check all the codes and determine the problem. Most likely an emissions issue.